为啥没有 String.valueOf(short a);
Posted
技术标签:
【中文标题】为啥没有 String.valueOf(short a);【英文标题】:Why is there no String.valueOf(short a);为什么没有 String.valueOf(short a); 【发布时间】:2015-10-05 10:00:09 【问题描述】:我不得不对一个字符串进行short,我能做到的唯一方法就是用它连接一个空字符串,这是正确的方法吗?
PS,为什么没有String.valueOf(short a)
;
【问题讨论】:
为什么不直接使用它可以隐式转换为int
的事实呢? short x = 10; String y = String.valueOf(x);
应该可以正常工作。
你不能简单地将 short 提升为 int 吗? String.valueOf((int) a);
这种情况下没有精度损失,是吗?
@Jagger 是隐式提升的,所以不需要做任何事情。与byte
相同。
那就更好了。 :)
@JonSkeet 试过了,但我一定错过了一些东西,而且它工作得很好,谢谢......
【参考方案1】:
因为 JDK 的创建者认为不需要它。
如果您很短,您可以直接致电String.valueOf(int)
。
请注意,即使Short.toString(short)
也被实现为return Integer.toString((int)s, 10);
【讨论】:
【参考方案2】:你可以使用
short s = 5
String str = String.valueOf(s); // s is widened to int.
或
String str = Short.toString(s);
添加 String.valueOf(short) 不会有太大变化。
【讨论】:
【参考方案3】:String.valueOf(short a);
不需要,因为String.valueOf(int a);
是等效的,因此在 String API 中将是多余的。
为了使用 Short 内置函数使用:
Short.toString(short);
此外,正如Jon Skeet 所指出的那样:
为什么不直接使用它可以隐式转换为 int 的事实呢?
short x = 10; String y = String.valueOf(x);
应该可以正常工作
String.valueOf(int);
【讨论】:
以上是关于为啥没有 String.valueOf(short a);的主要内容,如果未能解决你的问题,请参考以下文章
为啥 String.valueOf(null) 会抛出 NullPointerException?
为啥字符串连接比 String.valueOf 将 Integer 转换为 String 更快?
为啥 java.lang.Short 没有类似于 java.lang.Integer 的 reverse() 方法 [关闭]
(String)强制转换toString()和String.valueOf()的区别