StringBuilder クラスでは、次のようにできます。
StringBuilder sb = new StringBuilder();
sb.append( "asd").append(34);
メソッド append は StringBuilder インスタンスを返し、それを継続的に呼び出すことができます。
私の質問は、静的メソッドのコンテキストで行うことは可能ですか? クラスインスタンスなし
StringBuilder クラスでは、次のようにできます。
StringBuilder sb = new StringBuilder();
sb.append( "asd").append(34);
メソッド append は StringBuilder インスタンスを返し、それを継続的に呼び出すことができます。
私の質問は、静的メソッドのコンテキストで行うことは可能ですか? クラスインスタンスなし
はい。このように(未テスト)。
public class Static {
private final static Static INSTANCE = new Static();
public static Static doStuff(...) {
...;
return INSTANCE;
}
public static Static doOtherStuff() {
....
return INSTANCE;
}
}
のようなコードを持つことができるようになりました。
Static.doStuff(...).doOtherStuff(...).doStuff(...);
私はそれに対してお勧めします。
これはメソッドチェーンと呼ばれます。
そのためには、インスタンス化されたオブジェクトが常に必要です。申し訳ありませんが、関連付けられたオブジェクトがないため、静的コンテキストでは実行できません。
これが欲しいですか?
public class AppendOperation() {
private static StringBuilder sb = new StringBuilder();
public static StringBuilder append(String s){
return sb.append(s);
}
public static void main(String... args){
System.out.println(AppendOperation.append("ada").append("dsa").append("asd"));
}
}
たぶん私は質問(静的コンテキスト)を正しく理解していません
これのことですか?
静的 {
} //もちろんこれもできます
上記のすべてではない場合、append() は静的ではないため、静的メソッドなしでは実行できません
スタティックにビルダー パターンが必要ですか? いいえ。静的をインスタンスに変換するのが最善です。