什么是“Integer.valueOf()。intValue()”应该怎么做?

时间:2011-11-08 06:32:59

标签: java

这是我无法理解的java代码行。

 String line = "Some data";//I understand this line
 int size;//I understand this line too

 size = Integer.valueOf(line,16).intValue();//Don't understand this one

我所知道的是 Integer.ValueOf(行)与 Integer.parseInt(行)相同,是不是这样?如果我错了,请纠正我;感谢。

4 个答案:

答案 0 :(得分:6)

Integer.ValueOf(line,16)将字符串值line转换为Integer个对象。在这种情况下,基数是16。

intValue()获取上面创建的int Integer的{​​{1}}值。

此外,上述两个步骤相当于object

要获得更多信息,请参阅Integer类的Java API文档。

答案 1 :(得分:4)

是的,这相当于:

size = Integer.parseInt(line, 16);

实际上,在查看实现时,现有代码实际上是有效实现的:

size = Integer.valueOf(Integer.parseInt(line, 16)).intValue();

这显然毫无意义。

顺便说一下,前一行中-1的赋值是没有意义的。如果Integer.parseInt抛出异常,您仍然可以读取该值,但由于size的范围与调用Integer.valueof的范围相同,因此它才有意义无论如何都要在异常之后进入范围。

答案 2 :(得分:0)

请查看左侧变量的数据类型。

public class Test {
    public static void main(String[] args) {
        String s = "CAFE";
        Integer m = Integer.valueOf(s, 16);
        int n = m.intValue();

        System.out.println(n);
    }
}

Integer是一个包装int的引用类型,它是一种基本类型。

答案 3 :(得分:-1)

Djangocms-blog

和示例:

" = Integer.valueOf().intValue()"

结果:

String myNumber = "54";    
int c = Integer.valueOf(myNumber).intValue();  // convert strings to numbers
相关问题