System类在lang包中,有两个常用方法,currentTimeMillo?咋写来着?用来返回一个lang型毫秒,用在一个程序段前后,用来统计这个程序段执行了多久,
还有arraycopy,(原数组,从哪儿开始赋值,目标数组,目标数组开始接收位置,数量)
还有一个sout(Arrays.toString(数组名)),用来输出数组以字符串形式,用来前后对比
package cn.dtdt.JavaZuoYe.Date;
import java.util.Arrays;
public class SystemArray {
public static void main(String[] args) {
int[] array={1,2,3,4,5,5};
long time=System.currentTimeMillis();
int[] array1={1,2,3,4,5,5};
System.out.println(Arrays.toString(array1));
long time1=System.currentTimeMillis();
System.arraycopy(array,1,array1,3,2);
System.out.println(Arrays.toString(array1));
for (int i = 1; i < array.length; i++) {
System.out.println(array1[i]);
}
long time2=System.currentTimeMillis();
System.out.println(time2-time);
}
}
这两种方法都要System.来调用
- StringBuilder
- 我们为什么要学这个类,因为string类它底层是final修饰,值不可变,若实现给字符串string s=“fds”+“fd”+“ewf”这样的赋值,内存会有这三个字符串+(fds+fd)+(三者),这六种字符串,占用内存空间,效率低此时引出StringBuilder(字符传缓冲区)
- 它默认村粗16个字符串,不够默认翻倍成32,。。。。
- 它的值可以改变的,一个存储单元存储一个字符串,在内存始终是一个数组
-
- 他有两个构造方法,一个是空,一个是字符串直接赋值给对象
- 两个普通方法qppend();
- append方法可以以传入各种类型的值,返回值是一个this类型,即哪个对象调用它就返回哪个对象。多以对象名。append(),前面u不需要加接收的变量名,相应的,可以使用链式编程
- a.append(32).append(“fw”).append(30)返回的是a。可以继续调用与分开写得到的结果一样
- “abc”.toUpperLetter().toLowerLetter()也可以链式编程,因为ta返回的是一个字符串可以继续调用
- stringbuilder和string之间可以相互转换,string-》dtringbuilder用stringbuilder的有参构造方法,把string值给了括号内即可。反之,string s=bu.toString();转换
package Date;
public class stringBuilder1 {
public static void main(String[] args) {
String s="hello";
StringBuilder stringBuilder = new StringBuilder(s);
System.out.println(stringBuilder);
stringBuilder.append("是废物");
String d=stringBuilder.toString();
System.out.println(d);
}
}