0
今日、私はいくつかの奇妙なエラーが発生しましたが、解決できないので説明してくれます!オブジェクトを保存してロードした後にIf-Methodが間違った値を返す
まず、FileInputStream経由でオブジェクトをロードした後に問題が発生するメソッドがあります。
エラーが検索対象が保存され、アレイ内の場合でも、それは真を返す偽代わりの返すということです
私は、オブジェクトをロードしていますpublic boolean isCarOwned(String pName) { //find Car in Array with pName
for(int x = 0; x < carCount; x++) { // carCount = array length
if(carInv[x] != null) { //check if array is empty
if(carInv[x].getName() == pName) { //check if car in array has pName
return true;
}
}
}
return false;
}
次のメソッドは、上のメソッドは動作しません:(私は同様の方法でこのオブジェクトを保存しています(オブジェクトの代わりに書き込み)
ObjectInputStream invLoad;
try {
invLoad = new ObjectInputStream(new FileInputStream("save/inv_data.bin"));
Main.inv = (Inventory) invLoad.readObject();
invLoad.close();
} catch (FileNotFoundException e1) {
e1.printStackTrace();
} catch (IOException e1) {
e1.printStackTrace();
} catch (ClassNotFoundException e1) {
e1.printStackTrace();
}
私はこのコードの膨大な量のために謝るが、私ドン
private Car carInv[] = new Car[10];
:
public Car(String pName, int pSpeed, int pSpace, int pPrice, String pCarIcon) {
name = pName;
speed = pSpeed;
space = pSpace;
price = pPrice;
carIcon = new ImageIcon(pCarIcon); }
そして、これが重要な場合は、「carInv」アレイのthats:私は保存と読み込みてるオブジェクトザッツ
エラーがどこにあるのかわからないので、私はあなたに重要な情報をすべて提供しようとしています。
このすべてをお読みいただきありがとうございます。私にはアイデアや解決策がありますように願っています。
文字列は.equalsではない== –
ありがとう、私はそれを試してみるつもりです、シリアル化の前にエラーがあったことはありません! – Urbs
[Javaの文字列を比較するにはどうすればいいですか?](http://stackoverflow.com/questions/513832/how-do-i-compare-strings-in-java) –