• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:classファイル内の変数名について)

クラスファイル内の変数名と機械的な変数名の違いについて

このQ&Aのポイント
  • クラスファイル内の変数名と機械的な変数名の違いについて調査しました。
  • 2つのclassファイルを逆コンパイルしてみたところ、変数名の違いが見つかりました。
  • コンパイル方法の違いによって、変数名が機械的になってしまうことがあるようです。

質問者が選んだベストアンサー

  • ベストアンサー
  • wormhole
  • ベストアンサー率28% (1626/5665)
回答No.1

>コンパイル方法の違いで変数名が機械的になってしまうことがあるのでしょうか。 あります。 メソッドのローカル変数は変数名を保持しておく必要性がありませんから、 コンパイル時に-gオプションを指定しないとなくなります。

komegu66
質問者

お礼

ありがとうございます。 確かに-g オプションで内容が変わりました。 今回はclass 同士で比較をしたかったので、これだと比較はできなさそうですね。 残念です。

その他の回答 (1)

  • _kappe_
  • ベストアンサー率68% (1581/2304)
回答No.2

ローカル変数とフィールドの違いではないでしょうか。 下記のようなクラスがあった場合、intLocalはclassファイルの中に名前が残らず、intFieldはコンパイル後も名前が保存されると思います。 public class Test { private int intField; public void setInt(int intLocal) { intField = intLocal; } }

komegu66
質問者

お礼

ありがとうございます。 確かに-g オプションで内容が変わりました。 今回はclass 同士で比較をしたかったので、これだと比較はできなさそうですね。 残念です。

関連するQ&A

専門家に質問してみよう