2012-04-30 9 views
0

私は現在、これまでのところ、私はこのことを理解したが、その後、私は何を私に混乱すると、このジェネリッククラスをメソッド/戻り型にすることはできますか?

public static Pair<String> minmax(String[] a) 

あるこの

public static Pair<String> minmax(String[] a) 
    { 
     if(a.length == 0 || a == null) return null; 
     String min = a[0]; 
     String max = a[0]; 

     for(int i = 1 ; i < a.length ; i++) 
     { 
      if(min.compareTo(a[i])>0) min = a[i]; 
      if(max.compareTo(a[i])<0) max = a[i]; 
     } 
     return new Pair<String>(min,max); 
    } 

に出くわした私はここで、このジェネリッククラスを持っているジェネリック

package generics.lesson; 

public class Pair<T> { 

    private T first; 
    private T second; 

    public Pair(){ first = null; second = null; } 
    public Pair(T first, T second){ this.first = first ; this.second = second;} 

    public T getFirst() { return first; } 
    public T getSecond() { return second; } 

    public void setFirst(T first) { this.first = first; } 
    public void setSecond(T second) { this.second = second; } 
} 

を学んでいます質問

これはどのように可能ですか?ジェネリッククラスをメソッドの戻り値の型にすることはできますか?

+0

コンパイルしますか? –

答えて

2

これは(あなたは、 "このことを理解して" と述べた)

public T getFirst() { return first; } // returns a generic type 
public T getSecond() { return second; } // returns a generic type 

を動作する場合、私は、これはまたところで

public static Pair<String> minmax(String[] a) // returns a generic type 

に動作するように期待します。Java 1.4ではどちらの作品を、 Java 5.0以降ではどちらも動作します。 ;)

+0

ああ、私は参照してください。ありがとう! java 1.4にジェネリックのリソースや例はありますか?私は単なる好奇心です – user962206

+1

Java 1.4では、 'Pair/* String * /'や 'Map/* * /'のようなものを書く必要があります。 ;) –

+0

ああ、申し訳ありませんが、追加情報ありがとうございます。 – user962206

4

はい、可能です。

なぜあなたはそれができないと思いますか?

関連する問題