java中的Integer.valueOf()可以转换为c#中的int.Parse()吗?

本文关键字:中的 int Parse Integer valueOf java 转换 | 更新日期: 2023-09-27 18:14:01

我正在尝试从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#

java中的Integer.valueOf()可以转换为c#中的int.Parse()吗?

不,这不是一个有效的翻译-因为Java代码中的16意味着它应该被解析为整数。Java代码更接近于:

int size = Convert.ToInt32(line, 16);

Convert.ToInt32的过载允许您指定基极。

也可以使用:

int size = int.Parse("11", NumberStyles.AllowHexSpecifier);

我不热衷于名称"允许十六进制说明符",因为它表明前缀"0x"将被接受…但实际上这意味着总是被解释为十六进制

在java中,这样更好:

Integer.parseInt(line, 16);

将字符串解析为int,而Integer。返回对象的值转换为整数