P459常用类-P466String类的理解
P459
public class Test1 { public static void main(String[] args) { //演示拆箱和开箱,jdk5以前是手动 int n1=100;//装 Integer interger=new Integer(n1); //或者 Integer integer1=Integer.valueOf(n1); //拆 int i=interger.intValue(); //自动 int n2=200; //自动装 Integer integer2=n2;//(int-Interger) //底层依然是Integer.valueOf(n2); //自动拆箱 int n3=integer2;//底层依然是interger.intValue() } }
>》
三元运算符看成一个整体,精度最高为Double,所以输出1.0
public class Test2 { public static void main(String[] args) { //包装类-String Integer i=100;//自动装 //method 1 String str1=i+"";// //method 2 String str2=i.toString();//直接tostring方法 //method 3 String str3=String.valueOf(i); //String > 包装类 String str4="12345"; Integer i2= Integer.parseInt(str4);//右边是int类型,然后自动装箱 //或者 Integer i3=new Integer(str4); } }
System.out.println(Integer.MIN_VALUE); //返回最小值 System.out.println(Integer.MAX_VALUE);//返回最大值 System.out.println(Character.isDigit('a'));//判断是不是数字 System.out.println(Character.isLetter('a'));//判断是不是字母 System.out.println(Character.isUpperCase('a'));//判断是不是大写 System.out.println(Character.isLowerCase('a'));//判断是不是小写 System.out.println(Character.isWhitespace('a'));//判断是不是空格 System.out.println(Character.toUpperCase('a'));//转成大写 System.out.println(Character.toLowerCase('A'));//转成小写
1.new 的两个对象,false 2 Interger m=1;自动底层 Interger.valueof(1);阅读源码()
如何看源码,debug -sepinto
P463Integer面试题
P456String类的理解
看图-右键—Dia——show---
串行化在网络中传输,可以比较大小(自身的规则);
1.“你好”是字符串常量4.实现了字符串的重载
8String类还是个final类,不能被继承 ,有属性 pirvate final char value[];用于存放字符串内容
8+一定要注意value 是一个final类型,赋值之后不能修改,指地址不能被修改,而非单个字符内容修改
比如 final char values[]={"lucy","2"};values[1]={"Ada"}; 但是nam指向的的地址空间是不变的
P466String创建剖析
String.equanls,比较values比较字符串每个是否相等,注意看底层源码,而==判断是否是地址相等;
/p1.name=p2.name="hspedu",指向常量池的hspedu,s1,s2在堆中的不同地址,指向常量池相同的”bcde“
//创建两个对象,常量池两个空间
1.String a="hello"+"abc" 编译器直接优化成String a="helloabc";创建1个对象,指向常量池;
2.如果再加入String d="helloabc";sout(d==c1)//返回false;
String e="hello"+"abc";sout(d==e)//返回true;
3数组默认放在堆里,调动方法会有新栈,调完之后销毁
分析先main 创建对象ex 堆里空间(str-----value---池-hsp) , char[]=java,依然在堆里
ex.change,方法栈,传入参数,此时新栈(传入时候str指向vale..)str——池 java char[0]---堆里变成hava
此时输出ex.str依然是堆-池 hsp,然后+and,在池中-hspanf
此时ex.ch,指向堆 hava
人给无语到了,突然关机,文件没保存