价值转换方法背后的理由



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

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

String str = "42";
System.out.println(str + 1);
System.out.println(Integer.parseInt(str) + 1);
42143

例如,如果要执行普通加法而不是字符串串联,则需要使用Integer.parseInt()之类的方法。

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

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

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

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

由于您使用了"Java"标记,我将回答您关于Java的问题。

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

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

另一个优点是:当您有一个TextField并读取用户输入时,它是以字符串的形式给出的。所以你需要从中得到一个数字来处理它。

最新更新