日期:2014-05-20  浏览次数:20652 次

有个代码格式没学过,问一下~
Java code
import java.util.*;

public class ArrayIsNotIterable {  
  static <T> void test(Iterable <T> ib) {  //这里有2个 <T>,是否是如果要设置形参中的参数类型,那么方法的返回值前也要写一个 <T>?还有 <T>里的T的意思是指所有接受这个接口的类型? 
    for(T t : ib)
      System.out.print(t + " ");
  }
  public static void main(String[] args) {
    test(Arrays.asList(1, 2, 3));
    String[] strings = { "A", "B", "C" };
    test(Arrays.asList(strings));
  }
}


问题2:
public class Test1 extends Test2 <Pet>{ } 这里 Test2 <Pet>; 意思是说,使用所有Test2这个类里的方法,其参数必须传Pet类型的? 


--------------------------------
以下内容为自动编辑的内容,并非楼主的发贴内容,此仅用于显示而已,并无任何其他特殊作用
楼主【llm0528】截止到2008-08-04 18:51:13的历史汇总数据(不包括此帖):
发帖的总数量:75 发帖的总分数:1660 每贴平均分数:22  
回帖的总数量:68 得分贴总数量:2 回帖的得分率:2%  
结贴的总数量:75 结贴的总分数:1660  
无满意结贴数:0 无满意结贴分:0  
未结的帖子数:0 未结的总分数:0  
结贴的百分比:100.00% 结分的百分比:100.00%  
无满意结贴率:0.00 % 无满意结分率:0.00 %  
敬礼!
取消马甲机器人,请点这里:http://www.java2000.net/mycsdn/robotStop.jsp?usern=llm0528

------解决方案--------------------
第一个T可以认为是定义。就是说后面要用到这个类型T
如果去掉应该会有编译错误。
你可以实验一下。
------解决方案--------------------
泛型
------解决方案--------------------
嗯 你的理解是对的
定义之后 再取出来迭代的时候就不用在转换类型了 不加也没错