gpt4 book ai didi

java - 为什么可以将 double 转换为 int 而不能将 double 转换为 String?

转载 作者:搜寻专家 更新时间:2023-11-01 04:01:56 25 4
gpt4 key购买 nike

我通过 String.valueOf() 将其他类型转换为 String,如下所示:

 String s = String.valueOf(2.5);

我还通过如下转换将 double 转换为 int:

 int i = (int) 2.5 ;

我想将 double 转换为 String,如下所示:

 String s = (String) 2.5; 

但我给出了以下错误:

 Cannot cast from double to String

为什么可以将 double 转换为 int 而不能将 double 转换为 String?

最佳答案

从一种原始类型转换为另一种原始类型是标准的,在机器代码中得到很好的理解和支持。 IE。 Java 只是为您提供生成适当机器代码的语法。

连C语言都支持这个。

转换为对象是不同的,因为它需要您调用一个库,即使 C++ 有运算符重载来支持这种转换,它也不是这样的转换。 C 和 Java 不支持这样的隐式转换。


顺便说一句,转换为字符串的最简单方法是使用以下方法。

primitive p = ...
String s = "" + p;

这不是高效的,因为它使用了 StringBuilder,但是它创建 String 的效率也不高,所以它只是没有那么糟糕,而不是非常好。顺便说一句,我有一些库可以在不创建对象的情况下将基元转换为文本/从文本转换。

但是,我使用它是因为它对开发人员来说效率更高,我在等待分析器告诉我这还不够好,在这种情况下我也不会使用 String.valueOf()。

关于java - 为什么可以将 double 转换为 int 而不能将 double 转换为 String?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19206821/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com