爱问知识人 爱问教育 医院库

java

首页

java

import java.util.*;
public class TestCollections {
  public static void main(String[] args) {
    List l = new LinkedList(); //A
    for(int i=0; i<15; i++) {
       d("a" + i);
    }
     intln(l);
     uffle(l);
     intln(l);
     verse(l);
     intln(l);
     rt(l);
     intln(l);
   intln( narySearch(l, "a2"));

}
}

为什么A句写成List<Object> = new LinkedList<Object>();后就无法通过编译了?为什么?

提交回答
好评回答
  • 2008-03-07 15:30:38
    主要错误是:
    1   rt(l); 
    解释:边界不匹配:类型 Collections 的通用方法 sort(List)不适用于参数
     (List)。推断类型 Object 并不是有界参数 > 的有效替代项。
    2  intln( narySearch(l, "a2")); 
    解释:- 类型 Collections 中的方法 binarySearch(List>, T)对于参数(List, String)不适用
    	- 类型安全:类型 Collections 的通用方法 binarySearch(List>, T)的未经检查的调用 binarySearch
    	 (List, Object)
    	- 类型安全:类型 List 的表达式需要进行未经检查的转换以符合 
    	 List>
    

    爱***

    2008-03-07 15:30:38

其他答案

    2008-03-04 02:38:56
  • 我一般 这么写
    List l=new LinkedList();
    或者LinkedList l=LinkedList();
    不知道怎么回事

    1***

    2008-03-04 02:38:56

  • 2008-03-03 10:08:31
  •  narySearch(l, "a2");
    这句出错,binarySearch方法不支持泛型
    可以改成List l = new LinkedList();
    依然只是用List引用来获得LinkedList的实例,实例可用泛型,必要时刻强制类型转换就行了
    

    p***

    2008-03-03 10:08:31

类似问题

换一换

相关推荐

正在加载...
最新问答 推荐信息 热门专题 热点推荐
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200

热点检索

  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 175-194
返回
顶部
帮助 意见
反馈

确定举报此问题

举报原因(必选):