2014-10-17 76 views
0

在一个方法中有两个菱形括号需要什么,如果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})); 
    } 
} 
+0

是您在此处使用的一般类型指示器。通过在整个代码中使用您指定要为所有这些代码行使用相同的泛型 – Pmleader 2014-10-17 14:17:54

+1

我没有在此处看到任何钻石运算符... – 2014-10-17 14:19:45

+0

嘿,marko我在这里公开的裁判列表 toList( T []参数..正确我,如果我错了! – Terminator 2014-10-17 14:28:35

回答

0

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

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

正如,@ Pmleader说T是您使用这里的通用型的指标。通过在整个代码中使用您指定的代码,您希望对所有代码行使用相同的通用类型,这是精确和最好的答案!

类型是仅适用于方法ToList因为它是本地的方法..

替代解决方案,它适用于任何数目的类中的方法...

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

THIS对我来说是一个非常棒的日子....上午学习新事物!!!!!!

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

意味着有一个定义的通用类型与名称T,这是有效该方法的范围。

更多信息:

+0

,你介意给一个简单的实例,我是一种新的Java泛型,我必须提交向我的班级老师汇报..pls。 – Terminator 2014-10-17 14:24:59

+0

阅读我提供的文章。有几个例子。 – 2014-10-17 14:27:19

0

的T是通用的,你是铸造于toList方法。在这种情况下,我不认为这是必要的。你可以摆脱所有的genereics,这对这种方法会很好。

相关问题