创建 Double 对象

Double 类是 Java 中包装 double 基本类型的类。

Double类的构造方法

Double提供了几种构造方法来创建Double对象,以下是可用的构造方法:

构造方法 使用说明
Double(double value) 构造一个表示double参数的Double对象
Double(String str) 构造一个表示Double对象,表示用字符串表示的double类型的浮点值
    public static void main(String[] args) {
        Double d1 = new Double(123);
        Double d2 = new Double(12.3);
        Double d3 = new Double(-1.23);
        System.out.println(d1);
        System.out.println(d2);
        System.out.println(d3);
    }
123.0
12.3
-1.23
    public static void main(String[] args) {
        Double d1 = new Double("456");
        Double d2 = new Double("-4.567");
        Double d3 = new Double("+8.9");
        System.out.println(d1);
        System.out.println(d2);
        System.out.println(d3);
        Double d = new Double("1A");
    }

使用字符串创建对象时,需要确保字符串本身都是数字值:

456.0
-4.567
8.9
java.lang.NumberFormatException: For input string: “1A”

valueOf() 创建Double对象

返回表示指定的Double值的Double实例。如果不需要新的Double实例,则通常应优先使用此方法,而不是构造方法new Double(d),因为此方法可能通过缓存经常请求的值来显著提高空间和时间性能。

✍方法声明

public static Double valueOf(Double d);

  • 📥入参:d为一个指定的浮点值。
  • 🪐返回值:返回d的double实例。

✍方法声明

返回指定字符串的Double值的Double对象。如果字符串不包含可解析的数字,则抛出异常。

public static Double valueOf(String s) throws NumberFormatException;

  • 📥入参:s为一个指定要解析的String。
  • 🪐返回值:保存用String参数表示的值的Double对象。
  • 🐛抛出异常NumberFormatException:如果字符串不包含可解析的数字。

📝总结

在 Java 9 及以后的版本中,直接使用 Double 类的构造方法创建对象已被标记为过时(deprecated),推荐使用 Double.valueOf(double d) 或 Double.valueOf(String s) 方法来创建 Double 对象,以避免潜在的弃用风险。

使用构造方法创建 Double 对象时,应该注意处理可能出现的 NumberFormatException,并且在可能的情况下,优先使用 valueOf 静态工厂方法,因为它们更加灵活,也更不容易出错。

转载请注明出处:码谱记录 » 创建 Double 对象
标签: