9

私はこの機能を持っています。

  public static T[] addToArray(T item, T... items){
    T[] array;
    int array_size = 1;

    if(items !=null){ array_size = items.length+1; }

    array = java.util.Arrays.copyOf(items, array_size);
    array[array_size-1] = item;

    return array;
  }

そして、このエラーが発生しますcannot find symbol symbol: class T。アイデアは、このメソッドをジェネリックにすることです。私はジェネリックを扱ったことがないので、参考文献を見逃していると思いますか?

4

3 に答える 3

10

ジェネリック メソッドのメソッド シグネチャは次のとおりです。

 public static <T> T[] addToArray(T item, T... items){
      T[] array;
      int array_size = 1;

      if(items !=null){ array_size = items.length+1; }

      array = java.util.Arrays.copyOf(items, array_size);
      array[array_size-1] = item;

      return array;
    }
于 2013-09-13T13:45:46.303 に答える
8

メソッドの戻り値の型の前に型パラメーターを宣言する必要があります。

public static <T> T[] addToArray(T item, T... items)

参照:

于 2013-09-13T13:45:38.283 に答える
2

ジェネリック メソッドを作成するには、ジェネリック型パラメーターを取るものとして宣言する必要があります。

public static <T> T[] addToArray(...)
于 2013-09-13T13:45:42.633 に答える