在下面的代码中,我在最后一行收到编译器的错误:“列表类型不明确”(在尝试定义 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>();
我实际上希望列表包含整数,但是当我尝试像这样“转换”列表时,通过将
<String>
替换为 <int>
,该行上的错误变为“令牌“int”上的语法错误,预期尺寸”在这个标记之后'。请多多指教。
问题是
List
和 java.awt
包中都有一个 java.util
类,当您导入这些包中的所有类时,编译器不知道您指的是哪一个。
因此,您不应该使用星号同时导入所有类(仅导入您实际需要的类),或者不应该使用
List
编写 java.util.List<String> cgxHist = new ArrayList<String>();
java.awt.List
java.util.List
这两者都存在。您必须在前面添加命名空间才能使用它:
java.util.List<String> cgxHist = new ArrayList<String>();
如果不知道,它就不知道如何解释
List<T>
:是awt
还是util
?因此:模棱两可。
应该至少有 1 个方法(参数)将所有参数传递给其他参数。
public class MyClass {
public static void main(String[] args) {
byte x = 10;
short y = 15;
float z = 20;
// Call myMethod with the chosen signature
myMethod(x, y, z);
}
// Method to accept all arguments
public static void myMethod(int x, short y, double z) {
System.out.println("Values: x=" + x + ", y=" + y + ", z=" + z);
// Add your logic here
}
}
对于上述内容,我可以传递值 1. myMethod(int x.short y, double z);这个还可以 2. myMethod(短x, int y, 双z);这个也可以 3. myMethod(字节x, int y, int z);不好
在包装器中,首先选择子类进行选择。