gpt4 book ai didi

java - 带有 readObject() 方法的 ClassNotFoundException

转载 作者:行者123 更新时间:2023-12-01 13:01:36 25 4
gpt4 key购买 nike

我正在尝试从 Internet 上的文件中读取对象。我已获得对象类,如下:

import java.io.Serializable;


public class Sulearvuti extends Arvuti implements Serializable {

private static final long serialVersionUID = 1L;

//isendiväli
private int aku;


//konstruktor
public Sulearvuti(String tootja, String mudel, String lisainfo,
int järjekorraNumber, int raskusaste, boolean kiirtellimus, int aku)
throws ValeRaskusAsteErind {
super(tootja, mudel, lisainfo, järjekorraNumber, raskusaste,
kiirtellimus);
this.aku = aku;
}

// meetod toString, kasutama ülemklassi meetodit
public String toString() {
return "Sülearvuti [aku=" + aku + ", " + super.toString() + "]";
}

// meetodi ülekatmine
double parandamiseAeg(){
return this.getRaskusaste()*2;
}


}

现在,当我尝试读取对象 (Sulearvuti) 时,我收到 ClassNotFoundException。这是一段代码:

ObjectInputStream ois = 
new ObjectInputStream (
new URL("http://www.ut.ee/~marinai/sulearvutid.dat")
.openConnection()
.getInputStream());

int arv=ois.readInt();
Sulearvuti sülearvuti=(Sulearvuti)ois.readObject();

Integer 没有问题,但它无法识别该类。在过去的一个多小时里我一直很绝望......

这里还有父类(super class)“Arvuti”的代码:

import java.io.Serializable;

public class Arvuti implements Serializable, Comparable<Arvuti> {

private String tootja;
private String mudel;
private String lisainfo;
private int jrnumber;
private int vea_raskusaste;
private boolean kiirtellimus;
String getTootja() {
return tootja;
}
String getMudel() {
return mudel;
}
String getLisainfo() {
return lisainfo;
}
int getJrnumber() {
return jrnumber;
}
int getVea_raskusaste() {
return vea_raskusaste;
}
boolean isKiirtellimus() {
return kiirtellimus;
}
void setTootja(String tootja) {
this.tootja = tootja;
}
void setMudel(String mudel) {
this.mudel = mudel;
}
void setLisainfo(String lisainfo)throws WindowsXPErind {
this.lisainfo = lisainfo;
if(lisainfo.contains("WindowsXP"))throw new WindowsXPErind();

}
void setJrnumber(int jrnumber) {
this.jrnumber = jrnumber;
}
void setVea_raskusaste(int vea_raskusaste)throws ValeRaskusAsteErind {
if(vea_raskusaste<1 || vea_raskusaste>10) throw new ValeRaskusAsteErind();
this.vea_raskusaste = vea_raskusaste;
}
void setKiirtellimus(boolean kiirtellimus) {
this.kiirtellimus = kiirtellimus;
}
Arvuti(String tootja, String mudel, String lisainfo, int jrnumber,
int vea_raskusaste, boolean kiirtellimus)throws ValeRaskusAsteErind {
try{
setTootja( tootja);
setMudel(mudel);
setJrnumber(jrnumber);
setVea_raskusaste(vea_raskusaste);
setKiirtellimus(kiirtellimus);
setLisainfo(lisainfo);
}
catch (WindowsXPErind e){
System.out.println("WindowsXPErind");
setVea_raskusaste(vea_raskusaste+2);
}
}
double parandamiseAeg(){
return getVea_raskusaste()*1.5;
}
public String toString() {
return "Arvuti [tootja=" + tootja + ", mudel=" + mudel + ", lisainfo="
+ lisainfo + ", järjekorranumber=" + jrnumber + ", vea raskusaste="
+ vea_raskusaste + ", kiirtellimus=" + kiirtellimus
+ ", parandamise aeg=" + parandamiseAeg() + "]";
}
public int compareTo(Arvuti arvuti){
if(this.isKiirtellimus()==true && arvuti.isKiirtellimus()==false) return -1;
else if(this.isKiirtellimus()==false && arvuti.isKiirtellimus()==true) return 1;
else{
if(this.getJrnumber()<arvuti.getJrnumber())return -1;
else if(this.getJrnumber()>arvuti.getJrnumber())return 1;
else return 0;
}
}

}

线程“main”java.lang.Error中出现异常: Unresolved 编译问题:

Unhandled exception type ClassNotFoundException

at Peaklass.main(Peaklass.java:36)

最佳答案

您缺少 .dat 文件中包含的一些类。查找 classnotfound 异常中显示的类名。

仅仅拥有“Sulearvuti”是不够的,类路径中还需要“Arvuti”(父类(super class))和“ValeRaskusAsteErind”(异常)。

顺便说一句,这种语言对我来说看起来很有趣,这是什么语言?

关于java - 带有 readObject() 方法的 ClassNotFoundException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23478343/

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