【问题标题】:What is an 'ambiguous type' error in Java?什么是 Java 中的“模糊类型”错误?
【发布时间】:2013-12-13 20:37:30
【问题描述】:

在下面的代码中,编译器在最后一行显示错误:“列表类型不明确”(在尝试定义 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>();

我实际上希望列表包含整数,但是当我尝试这样“转换”列表时,通过将 &lt;String&gt; 替换为 &lt;int&gt;,该行上的错误变为“令牌“int”上的语法错误,此标记之后的预期尺寸'。请指教。

【问题讨论】:

标签: java list ambiguous


【解决方案1】:

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

因此,您要么不使用星号同时导入所有类(只导入您实际需要的类),要么使用List 代替java.util.List&lt;String&gt; cgxHist = new ArrayList&lt;String&gt;();

【讨论】:

  • 非常感谢。我正在学习,但这是一个非常缓慢的过程。
  • 这只能回答一半的问题。另一个问题是原语不能与泛型一起使用 - OP 必须使用 &lt;Integer&gt; 而不是 &lt;int&gt;
【解决方案2】:
java.awt.List

java.util.List

这两者都存在。您必须在前面添加命名空间才能使用:

java.util.List<String> cgxHist = new ArrayList<String>();

如果你不知道,它不知道如何解释List&lt;T&gt;:是awt 还是util?尔格:模棱两可。

【讨论】:

    猜你喜欢
    • 2012-12-03
    • 2021-05-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-01
    • 2015-05-28
    • 1970-01-01
    • 2013-07-03
    相关资源
    最近更新 更多