Java中的"模糊类型"错误是什么?

use*_*186 7 java list ambiguous

在下面的代码中,我从最后一行的编译器得到一个错误:"类型列表是不明确的"(在尝试定义cgxHist列表的行上).我究竟做错了什么?

import java.awt.*;
import javax.swing.*;
import java.util.*;

public class drawr extends JPanel{

    public static int animationSpeed=470;
    public static int diameter = 50;
    hBod allHBods[];
    List<String> cgxHist = new ArrayList<String>();
Run Code Online (Sandbox Code Playgroud)

我实际上希望列表包含整数,但是当我尝试"强制转换"列表时,通过替换<String><int>,该行上的错误变为"令牌上的语法错误"int",此符号后面的维度'.建议请.

Blu*_*lub 15

问题是在包和包List中都有一个类,并且当您导入这些包中的所有类时,编译器不知道您的意思.java.awtjava.util

所以你应该不要使用星号同时导入所有类(只需导入你真正需要的那些)或者不要Listjava.util.List<String> cgxHist = new ArrayList<String>();


Jer*_*vel 6

java.awt.List

java.util.List
Run Code Online (Sandbox Code Playgroud)

这两者都存在.你必须在前面添加命名空间才能使用一个:

java.util.List<String> cgxHist = new ArrayList<String>();
Run Code Online (Sandbox Code Playgroud)

如果你不这样做,它就不知道如何解释List<T>:它是awt一个还是util?Ergo:暧昧.