转换值的方法背后的基本原理

时间:2013-08-13 22:16:44

标签: java

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

3 个答案:

答案 0 :(得分:6)

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

String str = "42";

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

例如,如果要执行正常添加而不是字符串连接,则需要使用Integer.parseInt()之类的方法。

当您从用户读取数字作为输入时,可能会出现一个明显的例子;通常情况下,您会希望将此数字视为数字doubleint等),而不是字符串。

答案 1 :(得分:4)

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

对于int类型,最容易对此类型(和类似的基元类型)执行数学运算。用户输入通常以String的形式提供,因此要对用户输入执行数学运算,必须将其转换为int(或double,{{1} },longfloatbyte(视情况而定)。

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

答案 2 :(得分:1)

由于你使用了“Java”标签,我会回答你关于java的问题。

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

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

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