2015-04-06 62 views
0

所以我的代码的Java Singleton设计模式

import java.util.Comparator; 
public class PersonFullNameComparator implements Comparator<Person> { 
    @Override 
    public int compare(Person arg0, Person arg1) { 
     return arg0.getFullName().compareTo(arg1.getFullName()); 
    } 
} 

我前面已经阅读有关单身这个小位和不太明白,我不知道去哪里或启动。

那么,我会如何使这个单身?只是这堂课。

编辑:这只是为了练习,没有做任何实际的事情。由于不同的例子,更多的好奇心。

+0

我真的不认为你需要。只需在需要时创建实例 – MadProgrammer

回答

0

正如MadProgrammer已经说过的,你并不需要它。比较器重量轻,所以无论何时需要时都不会出现问题。

但是因为你的班级体重很轻,而且是线程安全的(完全没有实例状态),所以创建一个singleton并没有什么坏处。它也很简单:

import java.util.Comparator; 
public class PersonFullNameComparator implements Comparator<Person> { 
    // This is your singleton 
    public static final PersonFullNameComparator INSTANCE = new PersonFullNameComparator(); 

    // This is, if you want to forbid creating other instances 
    private PersonFullNameComparator() {} 

    @Override 
    public int compare(Person arg0, Person arg1) { 
    return arg0.getFullName().compareTo(arg1.getFullName()); 
    } 
}