(三)String、StringBuilder、StringBuffer在字符串操作中的性能差异浅析
2024-08-31 20:26:41
参考资料:https://www.iteye.com/blog/hank4ever-581463
《Core Java Volume I-Fundamentals》原书第十版
《Java编程思想》原书第四版
一、初识String
Java字符串是由char值的序列组成,而char数据类型是一个采用UTF-16编码(一个char数据类型的数据大小为16bit)表示Unicode码点的代码单元。大多数常用Unicode字符使用一个代码单元(两个字节)就可以表示,而一些辅助字符用两个代码单元(四个字节)表示。
注:在编译的时候,如果我们没有用-encoding参数指定我们的JAVA源程序的编码格式,则javac.exe首先获得我们操作系统默认采用的编码格式,也即在编译java程序时,若我们不指定源程序文件的编码格式,JDK首先获得操作系统的file.encoding参数(它保存的就是操作系统默认的编码格式,如WIN10,它的默认编码方式为GBK),然后JDK就把我们的java源程序从file.encoding编码格式转化为JAVA内部默认的UNICODE格式放入内存中。
可以使用使用-encoding参数指明JAVA编译时的编码方式:javac -encoding UTF-8 XX.java,如果使用IDEA等开发工具也可以直接设置IDEA开发的JAVA文件其默认编码方式。
代码示例:
1 public static String getByteHexadecimal(byte [] btArr){
2 char [] Hexadecimal = {'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
3 StringBuilder builder=new StringBuilder();
4 for(int i=0;i<btArr.length;i++){
5 builder.append(Hexadecimal[btArr[i]>>4 & 0XF]);
6 builder.append(Hexadecimal[btArr[i] & 0XF]);
7 }
8 return builder.toString();
9 }
10 public static void main(String[] args) {
11 String s1="a";
12 String s2="字";
13 String s3="最新文章
- Centos 6.5 X64 环境下编译 hadoop 2.6.0 --已验证
- iOS 和 Android 触摸事件传递
- 浅谈 Python 的 with 语句
- session跨域共享解决方案
- mysql主从配置(清晰的思路)
- linux中echo的用法 分类: 学习笔记 linux ubuntu 2015-07-14 14:27 21人阅读 评论(0) 收藏
- PHP面向对象(OOP):__toString()方法
- Struts2 程序步骤
- Eclipse rap 富客户端开发总结(7) : 如何修改rap的样式
- hihocoder Challenge 29 D. 不上升序列
- postman headers 请求参数和MD5加密签名
- hadoop框架详解
- C# int数组转string字符串
- 集群中节点(Node)与单机数据库的区别
- codeforces706C
- python-面向对象-13_文件
- 【codevs1959】拔河比赛
- create-react-app脚手架使用
- 【Java】 大话数据结构(2) 线性表之单链表
- 知识共享 - creative commons
热门文章
- Codeforces Round #604 (Div. 2) C. Beautiful Regional Contest(贪心)
- L2-019 悄悄关注 (25分) map容器模拟
- vs2019激活码
- 导出Excel出错
- 修改jpg的图片大小
- zsh terminal set infinity scroll height
- Winter Bash &; Stack Overflow
- React Hooks: useLayoutEffect All In One
- 算法的时间复杂度 &; 性能对比
- You, Me &; SVG!