gpt4 book ai didi

java - 预期,arrayList

转载 作者:行者123 更新时间:2023-11-29 05:33:04 29 4
gpt4 key购买 nike

我在处理一些 Java 代码时遇到了问题。该程序由大约 7 个文件组成,但我会尽量保持简短。

我正在尝试使用 ObjectStream 将文件中的 ArrayList 加载到变量中。它给了我一个警告,因为所有编译器都可以看到,就是我说一个对象应该被转换为 ArrayList。编译器当然不知道文件中有什么样的对象。作为编码员,我知道该文件只能包含一个 ArrayList,而不能包含其他任何内容。所以我在网上搜索,发现要抑制警告,但现在它给了我错误:

Schedule.java:34: error: <identifier> expected

为了让您了解正在发生的事情,这里是发生错误的代码。此错误不应受到任何其他类的影响

import java.util.*;
import java.io.*;


public class Schedule
{
private static ArrayList<Appointment> schedule;
private static File file;

private static ObjectInputStream objIn;
private static boolean exit;
private static Scanner in = new Scanner(System.in);

public static void main(String[] args)
{
initializeSchedule();
System.out.println("Welcome!");
while(!exit){
System.out.print("write command: ");
Menu.next(in.next());
}
}

public static void initializeSchedule()
{
try{
file = new File("Schedule.ca");
if(!file.exists()){
schedule = new ArrayList<Appointment>();
}
else{
objIn = new ObjectInputStream(new FileInputStream("Schedule.ca"));
@SuppressWarnings("unchecked")
schedule = (ArrayList<Appointment>)objIn.readObject();
objIn.close();
}
} catch (IOException e){
System.out.println("Exception thrown :" + e);
} catch (ClassNotFoundException e){
System.out.println("Exception thrown :" + e);
}
}

public static void exit()
{
exit = true;
}

public static ArrayList<Appointment> getSchedule()
{
return schedule;
}

}

错误在initializeSchedule中,就在抑制之下,其中schedule设置为ObjectStream输入。

最佳答案

@SuppressWarnings("unchecked") 的正确位置是

TYPE, FIELD,METHOD,PARAMETER,CONSTRUCTOR,LOCAL_VARIABLE

所以编译器无法解析@SuppressWarnings在这一点上,但认为这是一个声明。如果将它移到方法声明之上或调度声明之上,应该没问题。

解决这个问题的更好方法是实际更正编译器这样提示的问题:

final Object input = objIn.readObject();
if (input instanceof ArrayList) {
schedule = (ArrayList<Appointment>) input;
} else {
throw new IllegalStateException(); // or whatever suits you
}

关于java - <identifier> 预期,arrayList,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20452405/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com