Java 单例设计模式
Java singleton design pattern
所以我有这么一小段代码
import java.util.Comparator;
public class PersonFullNameComparator implements Comparator<Person> {
@Override
public int compare(Person arg0, Person arg1) {
return arg0.getFullName().compareTo(arg1.getFullName());
}
}
我之前读过关于单身人士的资料,但不太明白,我不确定从哪里开始。
那么我如何将其设为单例呢?就是这个class.
编辑:这只是为了练习,没有做任何非常实际的事情。由于例子不同,更多的好奇心。
正如 MadProgrammer 所说,您并不真正需要它。比较器非常轻巧,因此您可以随时创建它。
但是因为你的 class 非常轻量并且是线程安全的(根本没有实例状态),创建一个单例没有坏处。也很简单:
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());
}
}
所以我有这么一小段代码
import java.util.Comparator;
public class PersonFullNameComparator implements Comparator<Person> {
@Override
public int compare(Person arg0, Person arg1) {
return arg0.getFullName().compareTo(arg1.getFullName());
}
}
我之前读过关于单身人士的资料,但不太明白,我不确定从哪里开始。
那么我如何将其设为单例呢?就是这个class.
编辑:这只是为了练习,没有做任何非常实际的事情。由于例子不同,更多的好奇心。
正如 MadProgrammer 所说,您并不真正需要它。比较器非常轻巧,因此您可以随时创建它。
但是因为你的 class 非常轻量并且是线程安全的(根本没有实例状态),创建一个单例没有坏处。也很简单:
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());
}
}