我的eclipse是3.2.1的import java.util.*;class Counter {
int i = 0;
public String toString(){ return Integer.toString(i);}
}
public class RandomTest {
public static void main(String[] args) {
Map<Integer,Counter> m = new HashMap<Integer,Counter>();
/*我这里用泛型为什么在eclipse里面通不过,在其他IDE里可以运行,这是它的错误提示Exception in thread "main" java.lang.Error: 无法解析的编译问题:
类型 Map 不是通用的;不能使用参数 <Integer, Counter> 将它参数化
语法错误,仅当源级别为 5.0 时已参数化的类型才可用
类型 HashMap 不是通用的;不能使用参数 <Integer, Counter> 将它参数化
语法错误,仅当源级别为 5.0 时已参数化的类型才可用*/ Random rand = new Random(); for (int i = 0; i < 10000; i++) {
int a = rand.nextInt(10);
Integer j = new Integer(a);
if (m.containsKey(j))
(m.get(j)).i++;
else
m.put(j, new Counter());
}
System.out.println(m); }
}
int i = 0;
public String toString(){ return Integer.toString(i);}
}
public class RandomTest {
public static void main(String[] args) {
Map<Integer,Counter> m = new HashMap<Integer,Counter>();
/*我这里用泛型为什么在eclipse里面通不过,在其他IDE里可以运行,这是它的错误提示Exception in thread "main" java.lang.Error: 无法解析的编译问题:
类型 Map 不是通用的;不能使用参数 <Integer, Counter> 将它参数化
语法错误,仅当源级别为 5.0 时已参数化的类型才可用
类型 HashMap 不是通用的;不能使用参数 <Integer, Counter> 将它参数化
语法错误,仅当源级别为 5.0 时已参数化的类型才可用*/ Random rand = new Random(); for (int i = 0; i < 10000; i++) {
int a = rand.nextInt(10);
Integer j = new Integer(a);
if (m.containsKey(j))
(m.get(j)).i++;
else
m.put(j, new Counter());
}
System.out.println(m); }
}
jdk版本不对,或者eclipse没有选对jdk