1

让方法将一个值转换为另一种不同类型的值的目的是什么。例如,一种将数字字符串转换为 int 的方法和另一种将 int 转换为数字字符串的方法?做一个比另一个有什么好处?难道没有优势,转换方法的存在只是为了为不同类的构造函数的参数提供兼容的值吗?

4

3 回答 3

6

简单地说,这是因为这些不同的类型表现出不同的行为:

String str = "42";

System.out.println(str + 1);
System.out.println(Integer.parseInt(str) + 1);
421
43

Integer.parseInt()例如,如果您想要执行普通加法而不是字符串连接,您需要有一些方法。

当您读取用户输入的数字时,可能会出现一个具体的例子。通常,您会希望将此数字视为数字doubleint等)而不是字符串。

于 2013-08-13T22:24:22.583 回答
4

除了为方法和构造函数提供兼容的值之外,不同的形式有不同的用途。

对于该int类型,最容易在此类型(和类似的原始类型)上执行数学运算。用户输入通常以 a 的形式给出String,因此要对用户输入执行数学运算,必须将其转换为int(或 a doublelongfloatbyteshort视情况而定)。

转换为 a String:这是数字输出的显示方式。我们可能会编写代码System.out.println(myInt);,但在幕后,Java 将数字转换为 aString以用于显示目的。

于 2013-08-13T22:22:06.607 回答
1

既然您使用了“Java”标签,我将回答您有关 java 的问题。

这是因为,Java 是这样写的。有些语言不需要类型(例如lisp),您可以读取一个字符串(来自Std. In)并将其提升到一个幂(例如)如果它是一个数字。但是Java需要类型。编译器想提前知道它。

能够将数字转换为字符串的一个有用优势是您可以使用非常大的数字,将它们存储为字符串,而不是整数。但是,当您使用常规运算符(+、-、*、/)时,您不能使用字符串。

另一个优点:当您有一个 TextField 并读取用户输入时,它以字符串的形式给出。因此,您需要从中获取一些数字才能使用它。

于 2013-08-13T22:23:44.310 回答