1

ベクトルが次のように宣言されているJavaの例がいくつかあります

Vector v = new Vector() 

そしていくつかの例では、

Vector<String> = new Vector<String>()

後者の宣言が何をするのかわかりませんか?Vector shud を構成するオブジェクトのタイプを指定しますか?

はいの場合、最初の宣言を使用してベクターを宣言すると、任意の型のオブジェクトを使用でき、2 番目の宣言を使用する場合、オブジェクトは <> 内の型のみにすることができますか?

4

3 に答える 3

4

これは、ジェネリックスと呼ばれるJavaの機能です。Oracleの公式リソースはここにあります

Vector v = new Vector();  

と同じです

Vector<Object> v = new Vector<Object>()  
于 2012-09-12T19:59:02.467 に答える
3

最初の行は、任意のタイプのsをVector定義します。Object

2行目は、Java GenericsVectorを使用し、sのみを保持するaを定義しますString

于 2012-09-12T19:59:20.840 に答える
0

他のポスターが答えたように、あなたは確かに「ジェネリック」クラスを扱っています。

Vector clsas は非推奨であるため、使用しないことをお勧めします。代わりに ArrayListを使用してください。

Generics を使用する利点は、コンパイラが「タイプ セーフ」と呼ばれるものを提供することです。最初に ArrayList を として宣言するArrayList<Ball>と、コンパイラはクラスBall(またはそのサブクラス) のオブジェクトのみをそのリストに格納できるようにします。さらに、リストからオブジェクトを選択するたびに、つまりmyList.get(index)、その呼び出しから返されたオブジェクトは自動的に にキャストされますBall

ジェネリック クラスを記述するのは難しい場合がありますが、ジェネリック クラスを使用すると、コードを大幅にクリーンアップできます。

詳細については、ジェネリックに関するJava チュートリアルへのリンクを参照してください。

于 2012-09-12T20:13:11.540 に答える