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());
  }
}