手写代码注意点 -- 类型转换
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.
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)
String --> char[]
String.toCharArray()
StringBuilder, StringBuffer --> char[]
StringBuilder & StringBuffer 不能直接.toCharArray(), 必须这样转换:stringBuilder.toString().toCharArray();
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?