現在、私は、Set型のパラメータを持つ多くのメソッドを使って代入を行っています。私のプログラムでこれらのパラメータを使用するためには、配列に変換する必要があり、変換はO(N)以下の時間の複雑さで行わなければなりません。私はセットのタイプ、またはそれに関するすべてのプロパティを知らないので、私は困惑しています。私はセットのサイズを得ることができますが、それはそれについてです。 ArrayListや他のListクラスやSetクラスを使用することはできません。 toArray()は機能しませんが、コンパイラはシンボルを見つけることができないと言います。私は明らかにジェネリック型の配列を作成することはできません。今私は何をしますか?ジェネリックセットをジェネリックアレイに変換する
ここにコードのサンプルを示します。それに似たヘッダーを持つ6つのメソッドがあります。次のように
public boolean equals(Set<T> s) {
T[] sArray = s.toArray(new T[s.size()]);
私のエラーメッセージは、次のとおりです。
ArraySet.java:241: error: generic array creation
T[] sArray = s.toArray(new T[s.size()]);
^
ArraySet.java:241: error: cannot find symbol
T[] sArray = s.toArray(new T[s.size()]);
^
symbol: method toArray(T[])
location: variable s of type Set<T>
where T is a type-variable:
T extends Comparable<? super T> declared in class ArraySet
は、あなたがこれまで持っている完全なエラーメッセージとコードを追加してください。 –
'set.toArray(T [] array)'を試しましたか?あなたが実際のタイプを気にしない場合、これはうまくいくかもしれません。 –
Javaで一般的な配列を作成することはできません。 –