码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2016-09-20 13:49:12      阅读:106      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!