1. ホーム
  2. java

[解決済み] int 型のプリミティブ型に対して toString() を実行できない。

2022-01-30 20:34:43

質問

基本的に、私がやろうとしていることは、アイテムIDを取得し、iniから価格を設定することで、基本的に: itemid:price のようなものです。 しかし、単純に item.getId().toString() とすることはできません。 私は、itemを取得しようとしています。 文字列にするにはどうしたらいいのでしょうか?

public static void getBuyPrice(Item item) {
    try {
        String itemId = item.getId().toString();
        BufferedReader br = new BufferedReader(new FileReader(new File(
                "./data/prices.ini")));
        String line;
        while ((line = br.readLine()) != null) {
            if (line.equals(itemId)) {
                String[] split = line.split(":");
                item.getDefinitions().setValue(Integer.parseInt(split[1]));
            }
        }
        br.close();
    } catch (Throwable e) {
        System.err.println(e);
    }
}

これは私のコードです。(もちろん、item.getId().toString()でエラーが発生します)これを文字列に変換するにはどうしたらいいでしょうか?

解決方法は?

プリミティブ型は、Javaではオブジェクトではないので、メソッドを持ちません。マッチングクラスを使用する必要があります。

Integer.toString(item.getId());