在仿制药中有两个菱形支架的方法是什么意思?

时间:2014-10-17 14:15:04

标签: java generics

在方法中需要两个菱形括号需要什么?如果T不是返回类型,我们为什么需要它呢?

OR是T与铸造有关吗?

package generics;

import java.util.ArrayList;
import java.util.List;

public class GenericMethodType {
    public  <T> List<T> toList(T[] parameters){ //is T something related to casting.

        List<T> list=new ArrayList<>();
        for(T t:parameters){
            list.add(t);
        }
        return list;

    }
    public static void main(String[] args) {
        GenericMethodType gmt=new GenericMethodType();
        System.out.println(gmt.toList(new Integer[] {1,2,34,4}));
    }
}

3 个答案:

答案 0 :(得分:5)

public <T> List<T> toList(T[] parameters)
        ↑
//introduction of the generic type T

表示存在名称为T的已定义泛型类型,对于此方法的范围,仅有效

更多信息:

答案 1 :(得分:0)

T是您在toList方法中强制转换的泛型。在这种情况下,我认为不需要它。你可以摆脱所有的基因组学,这种方法就可以了。

答案 2 :(得分:0)

我刚刚找到答案,如果错了就纠正我。

class ScenarioOne{
   public  <T> List<T> toList(T[] parameters){
      //some definition
   }
}

As,@ Pmleader说 T是你在这里使用的通用类型指示器。通过使用整个代码,您指定要为所有这些代码行使用相同的泛型类型,这是准确且最佳的答案!!!!

该类型仅对方法toList有效,因为它是方法的本地..

替代解决方案适用于班级内的任何数量的方法...

public class GenericMethodType<T> {
    public   List<T> toList(T[] parameters){
         //some definition
       }
    }

这对我来说真是太棒了......在学习新事物!!!!!!