2017-04-21 5 views
1

java。 excecutingオブジェクトの名前をパラメータとせずに、同じexceutingオブジェクトをreturnオブジェクト(同じ)メソッドに返す方法。たとえば、クラスの戻り値の型が同じであるX(parameters)というクラスにメソッドがあるとします。クラスのObjectを作成してYとし、Y.X(par)でこのメソッドを呼び出します。特別な場合にこの呼び出しからメソッド内でYを返すことはできますか? 静的メソッドを宣言して2つのパラメータを取る以外に、これを行う方法はJava言語にありますか?参照名を使用せずにメソッド内で囲むオブジェクトを返す

前の例では、単純な連結方法を検討してください。

LinkedList concate(LinkedList secondList){ 
if(secondList.isEmpty()) return (current object);// What is the right form ?? 
           // current object is a pseude code not java's 
} 

ありがとうございました!

+0

['this'](https://docs.oracle.com/javase/tutorial/java/javaOO/thiskey.html)? – Turing85

+0

@ Turing85私も 'this'について考えましたが、戻り型の問題を引き起こしませんでしたか? –

+0

@RobinTopperフォームOPの質問: "[...]クラスの戻り値の型が同じで、X(パラメータ)と呼ばれるクラスにメソッドがあるとします。これの典型的な使用例のように私に聞こえる、または私はその質問を誤解します。 – Turing85

答えて

1

あなたが探しているのは「this」演算子です。

LinkedList concate(LinkedList secondList){ 
if(secondList.isEmpty()) 
    return this; 

}

デフォルトで 'この' は、現在のインスタンスの参照を返します。

1

はい方法とオブジェクトが同じクラスに属しているとして、あなたが書くことができます。

LinkedList concate(LinkedList secondList){ 
    if(secondList.isEmpty()) { 
    return (this); 
    } 
} 

これは現在のオブジェクトの参照を保持しています。

関連する問題