[英]Java enum with no instances
在RXJava [1]中有一個枚舉[2]定義為
public enum JavaFxObservable {
; // no instances
public static void staticMethod() {
// ...
}
}
這種技術使用沒有實例的枚舉的目的是什么? 為什么不使用標准類?
這種技術使用沒有實例的枚舉的目的是什么?
您以最簡單的方式定義這是一個沒有實例的類,即它是實用類。
為什么不使用標准類?
enum
是一個類。 它也是私有構造函數的最終版本。 你可以寫
public final class JavaFxObservable {
private JavaFxObservable() {
throw new Error("Cannot create an instance of JavaFxObservable");
}
}
但這更冗長,更容易出錯。 例如,我在實際代碼中看到了這一點
public final class Util {
private Util() {
}
static void someMethod() { }
static class DoesSomething {
void method() {
// WAT!? we can still create this utility class
// when we wrote more code, but it's not as good.
new Util().someMethod();
}
}
}
評論是我的。 ;)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.