用java在列表中显示结果?列表<;节目>;
这是一个应用程序,用于查看和预订音乐节目的门票。。 我必须查看并预订演出时间、可用座位和演出名称。。 因此,我必须从序列化的文件中获取值。 我已经反序列化了文件-“ShowDetails.ser”。但我必须将值存储在列表中。。。当我试图显示时,会出现错误 shows.java类用java在列表中显示结果?列表<;节目>;,java,serialization,arraylist,collections,deserialization,Java,Serialization,Arraylist,Collections,Deserialization,这是一个应用程序,用于查看和预订音乐节目的门票。。 我必须查看并预订演出时间、可用座位和演出名称。。 因此,我必须从序列化的文件中获取值。 我已经反序列化了文件-“ShowDetails.ser”。但我必须将值存储在列表中。。。当我试图显示时,会出现错误 shows.java类 package egs; import java.io.Serializable; public class Shows implements Serializable { private stati
package egs;
import java.io.Serializable;
public class Shows implements Serializable {
private static final long serialVersionUID = 1L;
private String showName;
private String showTime;
private int seatsAvailable;
public String getShowName() {
return showName;
}
public void setShowName(String showName) {
this.showName = showName;
}
public String getShowTime() {
return showTime;
}
public void setShowTime(String showTime) {
this.showTime = showTime;
}
public int getSeatsAvailable() {
return seatsAvailable;
}
public void setSeatsAvailable(int seatsAvailable) {
this.seatsAvailable = seatsAvailable;
}
}
-----------------------------序列化文件ShowDetails.ser
package egs;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
public class SerializationUtil {
public static Object deserialize(String fileName) throws IOException,ClassNotFoundException {
FileInputStream fis = new FileInputStream(fileName);
ObjectInputStream ois = new ObjectInputStream(fis);
Shows obj = (Shows)ois.readObject();
ois.close();
return obj;
}
// serialize the given object and save it to file
public static void serialize(Object obj, String fileName)
throws IOException {
FileOutputStream fos = new FileOutputStream(fileName);
ObjectOutputStream oos = new ObjectOutputStream(fos);
oos.writeObject(obj);
fos.close();
}
}
-------------------------------------------主要方法
Shows empNew = null;
try {
empNew = (Shows) SerializationUtil.deserialize(fileName);
} catch (ClassNotFoundException | IOException e) {
e.printStackTrace();
}
// System.out.println("emp Object::"+emp);
System.out.println("ShowName"+empNew.getShowName());
System.out.println("ShowTime"+empNew.getShowTime());
System.out.println("SeatsAvailable"+empNew.getSeatsAvailable());
}
--------------正如你们所看到的,我创建了一个展示的对象。但我想在列表中显示它。。。如何将显示值放入列表中。。。
我试过了
List<Shows> list= new ArrayList();
list.add(empNew);
线程“main”java.lang.NullPointerException中出现异常
位于egs.egs.main(egs.java:58)
C:\Users\Makarand\AppData\Local\NetBeans\Cache\8.1\executor snippets\run.xml:53:Java返回:1
生成失败(总时间:1秒)
------------请帮忙。。。提前感谢:)在某个地方,您提供的代码中没有,您可能有一行写着
import com.bean.Show代码>而不是导入egs.Shows(可能应该是这样)代码>
我还强烈建议您使用可靠的编辑器。我个人推荐,但你也可以。然后,使用自动格式化功能修复缩进。当您的代码格式整齐时,您会发现阅读和使用代码要容易得多。首先,请处理您的格式设置。很容易弄糊涂,不是吗。第二个java.lang.ClassNotFoundException:com.bean.Show
意味着类com.bean.Show
不在类路径上,所以请查看它(即,如何启动应用程序)。第三,您可能在下面的语句中得到NPE:empNew.getShowName()
其中empNew
很可能为空,因为由于CNFE,反序列化失败。下面是您的问题java.lang.ClassNotFoundException:com.bean.Show
,看起来类com.bean.Show
没有附加到您的项目中。如果你仔细看,你的类Show
生活在包egs
Yes中。谢谢你,詹姆斯。我发现了错误。。代码正在运行。。我使用netbeans。
java.lang.ClassNotFoundException: com.bean.Show
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:348)
at java.io.ObjectInputStream.resolveClass(ObjectInputStream.java:628)
at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1620)
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1521)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1781)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1353)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:373)
at egs.SerializationUtil.deserialize(SerializationUtil.java:22)
at egs.Egs.main(Egs.java:52)