2016-06-20 4 views
0

にシンボルクローン()が見つかりませんは、私はCloneablesのリストのクローンを作成しようとしていますインタフェースCloneableを

Helpers.java:40: error: cannot find symbol 
      out.add((T)((T)list.get(i)).clone()); 
            ^
    symbol: method clone() 
    location: interface Cloneable 

なぜそれがあります。 clone()の方法ではないCloneableインターフェイスはすべてですか?あなたはCloneableを実装し、それを使用するclone()をオーバーライドする必要が

+1

Javadoc of Cloneableを見ましたか? – Eran

+0

@KarthikRリストには、Cloneableインタフェースを実装するオブジェクト型を含めることができます。私はこれが "ジェネリックス"と呼ばれると思います... – Alexander

+0

@ KarthikR私はこのメソッドを静的な汎用メソッドとしてhttp://stackoverflow.com/questions/4409100/how-to-make-a-java-generic-method- static – Alexander

答えて

0

(それpublic作るが、それはObjectクラスのprotectedです)。

1

クローン()がデフォルトで保護されている公共

+0

正解、.... manishのための1 + – pbajpai21

1

Cloneablemarkerインターフェース、クローン()メソッドであるとして、あなたはそれを無効にしてください可能性がObjectクラスである、だから、としてあなたのクラスのclone()メソッドをオーバーライドする必要がありますまた、JVMにオブジェクトがクローン可能であることを伝えるために、Cloneableインタフェースを実装する必要があります。 Cloneableインターフェイスは、シリアル化可能なSerializableインターフェイスのように動作します。

+0

私はメソッドが 'Cloneable'インターフェースを実装するどんなタイプでも消費したいと思っています。 – Alexander

+0

@アレキサンダー、私はあなたのポイントを持っているが、実際には、クラスを作成することですCloneable、2つの条件があります、クラスはCloneableインターフェイスを実装する必要がありますし、2番目のポイントは、クラスは、 、 – pbajpai21

+0

私はクラスを持っていない、私はクローンのリストを複製する必要があります静的メソッドがあります。クローン可能なものはそれをクローンする方法をもたらすはずです、そして、私はこれらのリストをクローンしようとします。 – Alexander

関連する問題