1.String,StringBuffer,StringBuilder(JDK1.5后引入)区别
- 1)使用String的场景:字符串不经常变化的场景。例如常量的声明、少量的变量运算
- 2)使用StringBuffer的场景:频繁进行字符串的运算(如拼接、替换、删除等),并且运行在多线程中(线程安全,有加锁开销,效率较低,new不会产生大量String对象),可以使用StringBuffer。例如XML解析、HTTP参数解析和封装
- 3)使用StringBuilder的场景:频繁进行字符串运算(如拼接、替换、删除),并且运行在单线程中(线程不安全,不加锁时,效率较高,new不会产生大量String对象),可以考虑使用StringBuilder。例如SQL语句的拼接、JSON封装等
- 注意:符号+也可以实现字符串的拼接。可能会存在效率问题,new多个对象的情况(说法不一)
2.
第一天
-
1.比较:
-
基本数据类型;>,<,==
-
comparable比较能力:compareTo()方法
-
comparetor比较器:compare()方法,equals()
-
Studeng(object)得实现父类compareable,可以进行排序
-
Arrays.sort();
-
2.包装类
-
3.进制转换(代码有待熟悉)
-
疑问:
-
1.最大字符串的匹配(contains)不明白subString(j,shortStr.length()-i+j)?
-
2.为什么对象可以减对象