KJHo

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

String:适用于少量的字符串操作的情况
StringBuilder:适用于单线程下在字符缓冲区进行大量操作的情况
StringBuffer:适用多线程下在字符缓冲区进行大量操作的情况

Character类方法

1.String创建的字符串在公共池上,通过new创建的String对象在堆上

⚠️String类的值是不可改变的,如果要进行修改,应该选择使用StringBuffer&StringBuilder类
修改String类机制:修改字符串str,JVM创建一个新字符串也叫str,把新值赋给新str。旧str由java垃圾回收机制(GC)回收掉。执行慢。

2.StringBuilder和StringBuffer类的对象能够多次被修改而且不产生新的对象

StringBuilder类和StringBuffer的不同区别于它不是线程安全的(不能同步访问)。
🤔StringBuffer很多方法是带有synchronized关键字的,所以线程安全。所以如果要进行的操作是多线程的话,要使用StringBuffer,StringBuilder有可能会出现错误操作。
但由于StringBuilder类相较于StringBuffer类有速度优势,多数情况下建议使用StringBuilder类。

StringBuffer方法
type

StringBuffer方法

3.Java数组:用来存储固定大小的同类型元素。
声明方式:
(1)dataType[] arrayRefVar = new datatype[arraySize];
(2)dataType[] arrayRefVar = {value0,value1,value2...};
//dataType arrayRefVar[]也可,但不建议使用,这种风格来自C/C++
数组访问:索引从0开始,到arr.length-1结束

4.多维数组:数组的数组
type[][] typeName = new type[typeLength1][typeLength2];
typeLength1:行数
typeLength2:列数

java.util.Arrays类所有方法都是静态的

⚠️数组作为参数传递是引用传递,可以修改数组(数据类型在堆中)的值(因为指向同一地址),但不能修改原来的引用的值
⚠️swap(a,b)后a和b的值不会改变,传入的只是swap方法的局部变量(形参)

5.日期格式初始化
SimpleDateFormat ft = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
yyyy:年份 MM:月份 dd:日期 HH(24)/hh(12) :时 mm:分 ss:秒

posted on 2024-01-03 23:25  KJHo  阅读(1)  评论(0编辑  收藏  举报