テキストベースのRPGを開発しています。クラスの1つに、保存とロード・ゲームを処理するArrayListがあります。 ArrayListには整数と文字列の両方があります。 コンパイルエラーを取得する:警告:[未チェック]未処理のタイプのメンバーとしてadd(E)の呼び出しをチェックしないArrayList
この
はStringです:saveGame.add(p.getName());
そして、これは整数です:
D:\Backup\RPG\src\rpg\Player.java:86: warning: [unchecked] unchecked call to add(E) as a member of the raw type ArrayList getInventory().add(item); where E is a type-variable: E extends Object declared in class ArrayList
コード:saveGame.add(p.getCurrLoc());
は
リストに要素を追加しているすべての変数はこの1つのような警告が表示され
public class Data {
private ArrayList saveGame;
//Sparar en ny rad i sparfilen
public void writeData(String in) {
try {
FileWriter out = new FileWriter("Savegame.txt", true);
out.write(in + "\n");
out.close();
} catch (IOException ex) {
Logger.getLogger(Data.class.getName()).log(Level.SEVERE, null, ex);
}
}
public void save(Player p) {
clearData();
saveGame = new ArrayList();
saveGame.add(p.getName());
saveGame.add(p.getCurrLoc());
saveGame.add(p.getStrength());
saveGame.add(p.getConstitution());
saveGame.add(p.getDexterity());
saveGame.add(p.getHitpoints());
saveGame.add(p.getLevel());
saveGame.add(p.getxP());
saveGame.add(p.getxPToLvlUp());
saveGame.add(p.getArmorClass());
saveGame.add(p.getNrOfPotions());
saveGame.add(p.getEqWeapon().getName());
for(Object element : p.getInventory()) {
if(element instanceof Weapon) {
saveGame.add(((Weapon) element).getName());
} else if(element instanceof Item) {
saveGame.add(((Item) element).getName());
} else if(element instanceof Armor) {
saveGame.add(((Armor) element).getName());
}
}
for(Object element : saveGame) {
writeData(element.toString());
}
}
:
は、私はこのような問題を解決しました。 – SLaks警告はエラーではありません。 –