我正在尝试从C#背景学习java!我在旅程中发现了一些细微差别,比如C#没有Integer作为引用类型它只有int作为基本类型;这让我怀疑这个翻译是否正确!
String line ="Numeric string";//Java
string line = "Numeric string";//C#
int size;
size = Integer.valueOf(line, 16).intValue(); //In Java
size = int.Parse(line,System.Globalization.NumberStyles.Integer);//In C#
答案 0 :(得分:4)
不,这不是一个有效的翻译 - 因为Java代码中的16意味着它应该被解析为整数。 Java代码更接近:
int size = Convert.ToInt32(line, 16);
overload of Convert.ToInt32
允许您指定基础。
或者你可以使用:
int size = int.Parse("11", NumberStyles.AllowHexSpecifier);
我不喜欢名称“允许十六进制说明符”,因为它表明将接受“0x”的前缀...但实际上它意味着它的总是被解释为十六进制。
答案 1 :(得分:1)
在java中,这样更好:
Integer.parseInt(line, 16);
将字符串解析为 int ,而 Integer.valueOf 转换为整数。