我有一个以前运作良好的旧项目,但我今天打开它,发现编译器告诉我'cannot find symbol Integer.valueOf(int)'
或'cannot find symbol Integer.toHexString(int)'
。
java.lang.Integer似乎有问题。 我使用IntelliJ并且如上所述编译失败,但Eclipse工作正常。 此外,我使用相同的代码粘贴到一个新的IntelliJ项目,它也可以正常工作。
我的旧IntelliJ项目配置有什么问题吗?有人以前遇到过这个问题吗?
示例代码如下:
public class ContainerTest {
public static void main(String[] args) {
@SuppressWarnings("unchecked")
List numbers = new ArrayList(Arrays.asList(1, 2, 3)); // cannot find Integer.valueOf(int) here
ListIterator listIterator = numbers.listIterator();
while (listIterator.hasNext()) {
System.out.println("index" + listIterator.nextIndex() + " : " +listIterator.next());
listIterator.add(100);
}
System.out.println(numbers);
}
}
public class BinaryFileTest {
public static void main(String[] args) throws IOException {
DataInputStream reader = null;
try {
String filename = "./target/classes/io/TreeInfo.class";
reader = new DataInputStream(new FileInputStream(new File(filename)));
int i = 0, k;
while (reader.available() != 0 && i++ < 4) {
System.out.println(Integer.toHexString(k = reader.read())); // here
System.out.println(k);
}
reader.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
reader.close();
}
}
}
答案 0 :(得分:0)
当您使用不支持该方法的版本时,通常会修复此问题,请确保您在两个ide(eclipse和IntelliJ)中使用相同的版本。在IntelliJ中,您可以在Project Settings > Project
中设置选择正确的Project SDK
版本,与Project Settings > Modules
选择项目的方式相同,点击Dependencies
标签并选择正确的{{1}版本。