手写代码注意点 -- 类型转换

 

回到顶部(go to top)

char, int, long, boolean, float, double --> String

Correct syntax: String.valueOf(char)

Wrong syntax: char.toString()

Because these primitive are not inherit from Object, so they do not have toString() function.

 

 

回到顶部(go to top)

char[] --> String

当char[] 要转化为 string, 不能直接用 char[].toString() !!! 数组类中并没有对toString()方法重写(override),仅仅是重载(overload)为类的静态方法(参见java.util.Arrays)。所以,数组直接使用toString()的结果也是输出内存地址[类型@哈希值] (例如: "[C@232204a1")。

数组转为字符串应写成:

1-带格式的string,输出的是[a, b, c]:java.util.Arrays.toString(arr);

复制代码
1 int[] arr = { 1, 2, 3, 4, 5 }; 
2 String arrString = Arrays.toString(arr); 
3 
4 // 直接输出,为内存地址
5 System.out.println(arr); 
6 // [I@139a55
7 
8 System.out.println(arrString );
9 // [1, 2, 3, 4, 5]
复制代码

2 不带格式的string,输出的是abc:

方法1:直接在构造String时转换。

char[] data = {'a', 'b', 'c'};
String str = new String(data);

方法2:调用String类的方法转换。

String.valueOf(char[] ch)

 

回到顶部(go to top)

String --> char[]

String.toCharArray()

 

回到顶部(go to top)

StringBuilder, StringBuffer --> char[]

StringBuilder & StringBuffer 不能直接.toCharArray(), 必须这样转换:stringBuilder.toString().toCharArray();

 

posted on   frank_cui  阅读(220)  评论(0编辑  收藏  举报

编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

levels of contents
点击右上角即可分享
微信分享提示