gpt4 book ai didi

java - 将 String 类型解析为 Java 中可用的其他数字类型的最佳方法是什么?

转载 作者:行者123 更新时间:2023-12-02 06:41:03 25 4
gpt4 key购买 nike

让我们考虑以下 Java 代码片段。有一些可能的方法(据我所知)将 String 值解析为其他数字类型(为了简单起见,我们假设它是 Integer,Java 中的包装类型)。

package parsing;

final public class Parsing
{
public static void main(String[] args)
{
String s="100";

Integer temp=new Integer(s);
System.out.print("\ntemp = "+temp);

temp=Integer.parseInt(s);
System.out.print("\ntemp = "+temp);

temp=Integer.valueOf(s).intValue();
System.out.print("\ntemp = "+temp);

temp=Integer.getInteger(s);
System.out.print("\ntemp = "+temp);
}
}

在除最后一种情况外的所有情况下,将值 100 转换为 Integer 后返回值。哪一种是将字符串值解析为 Java 中可用的其他数字类型的最佳方法?最后一种情况返回 NULL,即使 String 对象 s 已经包含一个可解析的值。为什么?

最佳答案

调用 Integer.getInteger("42") 尝试获取名称为“42”的系统属性的值。除非您确实拥有具有该名称 的系统属性,否则它将返回null

这是 Java 7 javadoc如果您需要更多详细信息。

是的,该方法的名称具有误导性,其实用性值得怀疑。


FWIW,如果我需要 int 结果,我会使用 Integer.parseInt(String),如果需要,我会使用 Integer.valueOf(String)我需要一个 Integer。如果我需要对象是 new Integer不是,我只会使用 new Integer(String)一个可以共享的。

(推理与 new Integer(int) 对比 Integer.valueOf(int) 相同。再次阅读 javadocs 以获得更完整的解释.)

关于java - 将 String 类型解析为 Java 中可用的其他数字类型的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8060764/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com