Java中out.print使用原理是什么?
out是个PrintStream的对象,PrintStream中有很多打印的方法。
可打印boolean,char,int,long,float,double,char数组,String类型。
不过其他数据类型最后都是转换成String类型打印。
out.prnt(boolean b){write(b ? "true" : "false");}
out.print(char c){write(Strng.valueOf(c));}
put.print(int i){write(Sting.valueOf(i));}
put.prit(long l){write(Strig.valueOf(l));}
put.print(float f){write(Strng.valueOf(f));}
put.print(double d){write(Sting.valueOf(d));}
put.print(char c[]){write(c);}
put.print(String s){wrte(s);}
这里面调用的write(String s)方法是PrintStream类的私有方法。该方法会调用Writer类的writer(String s)方法,再调用Writer类的write(String str, int off, int len)方法,在这个方法里面会转化成对字符数组的write——write(char cbuf[], int off, int len)来把字符写入buffer。