-1

変数 rowNum が文字列ではなく int であるにもかかわらず、以下のコードが正しく機能するのはどうしてですか? これはどのように可能ですか、またはここで何が起こっていますか?

文字列が文字列選択変数に割り当てられると、int rowNum 変数は自動的に文字列に変換されますか?

  public String getTableString(int rowNum){
  String tableString = "";
  String[] columns = new String[]{TABLE_STRING};
  String selection = _ID + " = '" + rowNum + "';";
  Cursor cursor = sqLiteDatabase.query
  (MYDATABASE_TABLE, columns, selection, null, null, null, null);

この場合、なぜ Integer.toString() を使用する必要がなく、それでも機能するのですか?

通常のルールでは、String 選択変数に割り当てる前に Integer.toString() メソッドを使用して rowNum を String に変換する必要があります。

基本的にコードが示されているように、文字列に int を貼り付けて、それを String 変数に割り当てています。これは間違っています。これはクラス キャスト例外である必要があります。

4

4 に答える 4