这是我无法理解的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(行)相同,是不是这样?如果我错了,请纠正我;感谢。
答案 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