taozhuo
11/3/2016 - 6:57 PM

example.java

        private static final Object PRESENT = new Object();
        …
        public boolean add(E e) {
            return map.put(e, PRESENT)==null;
        }
        
List list = ArrayList<>();
….
If (!Collections.binarySearch(list, key)) list.add(key)

                String s1 = "drawbridge";
        String s2 = "drawbridge";
        String s3 = "drawbridge".intern();
        String s4 = new String("drawbridge");
        String s5 = new String("drawbridge").intern();
        if ( s1 == s2 ) System.out.println("s1 and s2 are same");   // 1. true
        if ( s1 == s3 ) System.out.println("s1 and s3 are same" );  // 2. true
        if ( s1 == s4 ) System.out.println("s1 and s4 are same" );  // 3. false
        if ( s1 == s5 ) System.out.println("s1 and s5 are same" );  // 4. true