javajava用法积累!
智汇君java用法积累
Integer和int
Integer是int的包装类型,支持自动装箱和拆箱。
总结来说,Integer[]array和int[]的主要区别在于—个是对象数组,一个是基本
类型数组。
Integer[] array的默认值是null,因为它是对象引用。
int[]的默认值是0 因为它是基本类型
1 2 3 4 5
| int[] intArray = {1, 2, 3}; Integer[] integerArray = {1, 2, 3};
integerArray[0] = intArray[0]; intArray[1] = integerArray[1];
|
字符串
java.lang.StringBuilder
1 2 3 4
| String str = '' for(int i=0;i<1000;i++){ str=str+','+i; }
|
上面这种字符串拼接方式会不断创建新的字符串,然后抛弃旧的,这样,绝大部分字符串都是临时对象,不但浪费内存,还会影响GC效率。
1 2 3 4 5 6
| StringBuilder sb = new StringBuilder(1024); for(int i=0;i<1000;i++){ sb.append(','); sb.append(i); } String s = sb.toString();
|
支持链式操作
1 2 3 4 5 6 7 8 9 10 11
| public class Main { public static void main(String[] args){ var sb = new StringBuilder(1024); sb.append("Mr ") .append"Bob") .append("!") .insert(0, "Hello, "); System.out.println(sb.toString()); } }
|
进行链式操作的关键是,定义的append()方法会返回this,这样,就可以不断调用自身的其他方法。
1 2 3 4 5 6 7 8
| class Adder{ private sum=0; public Adder add(int i){ sum+=i; return this; }
}
|
insert、append、delete方法
1
| sb.delete(sb.length() - 2, sb.length());
|
StringJoiner
1 2 3 4 5 6 7 8 9 10 11 12
| public class Main{ public static void main(String[] args){ String[] names = {'bob','tom','jerry'}; StringBuilder sb = new StringBuilder(1024); sb.append('hello '); for(String s:names){ sb.append(', '); sb.append(s); } sb.append('!'); } }
|
StringJoiner适用于将数组用特定字符拼接,并且还支持快捷设置首位字符!
1 2 3 4 5 6 7 8 9
| public class Main{ public static void main(String[] args){ String[] names = {'bob','tom','jerry'}; StringJoiner sj = new StringJoiner(', ',"hello ","!"); for(String s:names){ sj.append(s); } } }
|
String.join()
String还提供了一个静态方法join(),这个方法在内部使用了StringJoiner来拼接字符串,在不需要指定“开头”和“结尾”的时候,用String.join()更方便
1 2
| String[] names = {"Bob", "Alice", "Grace"}; var s = String.join(", ", names);
|
java.lang.StringBuffer
StringBuffer,这是Java早期的一个StringBuilder的线程安全版本,它通过同步来保证多个线程操作StringBuffer也是安全的,但是同步会带来执行速度的下降。
StringBuilder和StringBuffer接口完全相同,现在完全没有必要使用StringBuffer
Math
Math.random() 返回一个大于等于 0 且小于 1 的伪随机浮点数
Math.round() 函数返回一个数字四舍五入后最接近的整数