面向对象是java的重点,所以也是这本书的重点。这章延续上章,我粗略数了下,这两张加起来竟然达到这本书的四分之一。这章刚开始讲了包装类,由于jdk1.5以后引入了自动装箱和拆箱,基本类型和包装类转化就方便了。包装类有很多方法用起来很方便大家要熟悉下,eg
- public class Primitive2String
- {
- public static void main(String[] args)
- {
- String intStr = "123";
- //把一个特定字符串转换成int变量
- int it = Integer.parseInt(intStr);
- System.out.println(it);
- String floatStr = "4.56";
- //把一个特定字符串转换成float变量
- float ft = Float.parseFloat(floatStr);
- System.out.println(ft);
- //把一个float变量转换成String变量
- String ftStr = String.valueOf(2.345f);
- System.out.println(ftStr);
- //把一个double变量转换成String变量
- String dbStr = String.valueOf(3.344);
- System.out.println(dbStr);
- //把一个boolean变量转换成String变量
- String boolStr = String.valueOf(true);
- System.out.println(boolStr.toUpperCase());
- }
- }
网上说的很多关于==和equals的区别,误导了一大片人,看了李刚的书,然后我也研究了下jdk的源码。发现对object来说这两者是一样的。下面看源码
网上说了很多他们之间的不同是由于(我们那String来做例子)equals被重写过,eg 然后讲了设计模式中的单例模式(具体我会在以后的设计模式中讲)现在先举个例子,eg 不可变类的设计,注意引用变量的问题。eg 这里虽然没改person对象,但其实改name对象的时候,由于name对person是引用对象,所以person中的name其实也是改变了,为了解决这个问题,使用以下方法。eg 虽说还是引用对象但这个name对象别人访问不到了,这样就实现了不可变类。 最后讲个用缓存来实现不可变类,eg
343

被折叠的 条评论
为什么被折叠?



