首页 > 其他 > 详细

if逻辑实现的两种方式总结

时间:2016-09-20 13:48:32      阅读:241      评论:0      收藏:0      [点我收藏+]
 1 public class Text1{
 2     public static void main(String[] args){
 3         Singleton s1=Singleton.getSingle();
 4         Singleton s2=Singleton.getSingle();
 5         Singleton s3=Singleton.getSingle();
 6         System.out.println(s3.equals(s2));
 7         System.out.println(s1.equals(s2));
 8         System.out.println(s1.equals(s3));
 9         System.out.println(s3==s2);
10         System.out.println(s1==s2);
11         System.out.println(s1==s3);
12         System.out.println(s1);
13         System.out.println(s2);
14         System.out.println(s3);
15     }
16 }
17 class Singleton{
18     private String name;
19     private static Singleton single=new Singleton();
20     private Singleton(){System.out.println("ddd");name="aa";}
21     public static Singleton getSingle(){
22         return single;
23     }
24     //重写equals方法-----第一步,boolean值返回,第二步,先写false判断,省字省钱,第三步,选择以下两种方式之一写逻辑,第二种阅读性差,代码简洁
25     /*
26     public boolean equals(Singleton single){
27         if(single==null) return false;
28         if(single!=this) return false;
29         if(single.hashCode()!=this.hashCode()) return false;
30         return single.name.equals(this.name) ? true : false;
31     }*/
32     //重写equals方法2-----利用||短路特性来实现
33     
34     public boolean equals(Singleton single){
35         if(single==null||single!=this||single.hashCode()!=this.hashCode()) return false;
36         return single.name.equals(this.name) ? true : false;
37     }
38 }

 

if逻辑实现的两种方式总结

原文:http://www.cnblogs.com/kaililikai/p/5888140.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!