• ベストアンサー

基本的な質問ですが

String moji = null; と String moji = ""; では 厳密には意味が違うのでしょうか? それともまったく同じ意味なのでしょうか?

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

  • ベストアンサー
  • symgt
  • ベストアンサー率56% (68/120)
回答No.2

nullを代入した変数mojiはどのオブジェクトも参照していないのに対して 「String moji = "";」は0バイトの文字列オブジェクトを参照することに なるのでまったく意味が違います。

gorou
質問者

お礼

ありがとうございました。 なるほどですね。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

回答No.3

ためしに、 String mojia = null; String mojib = ""; System.out.println(mojia.length()); System.out.println(mojib.length()); としてみてください。 System.out.println(mojia.length()); でNullPointerExceptionが発生します。

gorou
質問者

お礼

ありがとうございます。

全文を見る
すると、全ての回答が全文表示されます。
  • azicyan
  • ベストアンサー率21% (368/1747)
回答No.1

違います。 NULLは何も無いということですが、 ""は何も無い文字、です。 例 System.out.println(moji); とすると nullの場合は null ""の場合には 何も表示されません。

gorou
質問者

お礼

ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 変数にnullを代入するには

    諸事情で、変数の値をNullにしたいのですが、 Sub a() Dim mystr As String mystr = "moji" '他の処理 mystr = Null End Sub だと、実行時エラー94になります。 多分、NULLは値じゃないから代入できないんだと思いますが、どうすれば変数をnullにできるのでしょうか? String型が問題であれば、何にすればいいですか?

  • クラス StringTokenizerのコンストラクタ

    あるCSVファイルから行を読み込んで、以下のように文字列を配列に格納しようとしたのですが、カンマとカンマの間の文字列がNULLの時に、次のカンマにある文字列がずれて格納されてしまいます。 例外処理(if文)で処理を振り分けるなどとして、NULLもきちんと配列におさめるにはどのようにすればよろしいのでしょうか? ・ ・ line = csvfile.readLine(); StringTokenizer analy = StringTokenizer(line,","); String[] moji = new String[analy.countTokens()]; for (int n=0; n<moji.length; n++){ moji[n] = analy.nextToken(); } ・ ・

    • ベストアンサー
    • Java
  • 初歩の質問 nullについて

    初歩的な質問です。どうぞよろしくお願いします。 String s = null; String ss = ""; この違いが理解できていません。この状態だと、sには何も入っていない状態ということですよね。また、ssには""が入っている状態ということですよね。 しかし、「""が入っている状態」というのは、「"」「"」の間にある文字が入っているということだと思うのですが、私の見たところ、「""」の「"」と「"」の間にはひとつの文字もないので、これは何も入っていない状態と変わらないのではないでしょうか。つまりnullと同じ意味になるのではないでしょうか。 また String s = new String(); String ss = ""; の違いは何でしょうか。 何卒ご教授くださいますようよろしくお願いします。

    • ベストアンサー
    • Java
  • ファイルの読み込み

    "DataFile"に何行か文字列がはいっており、下のソースでそれをテキストボックスにすべて出力したいのですが、1行しか読まれません。 やり方を教えてください。 String moji = null; FileRead(){   try {     BufferedReader br = new BufferedReader( new FileReader( "DataFile.txt" ) );     while ((moji = br.readLine()) != null){       taList.setText(moji);     }     br.close();   }   catch ( Exception e ) {     System.out.println( e.getMessage() );   } }

    • ベストアンサー
    • Java
  • javaの基本的な質問

    java初心者です。 サンプルプログラム等の宣言部分が下記の2通りで記載されていることがありますが、 カギ括弧の位置が違うこの2つは何か意味があるのでしょうか? それとも同じ意味ですか? ----------------------------------------- public static void main (String args[]) public static void main (String[] args) ----------------------------------------- よろしくお願いします。

    • ベストアンサー
    • Java
  • strncpy後のatoiがおかしい

    こんにちは。 C++をVS2005でやっています。 atoi関数を使っているんですが、10個の配列strにstrncpyをやると値がおかしくなります。 10個目に'\0'を代入させてやってみても駄目でした。 以下にソースを載せます。 #include <string.h> #include <stdlib.h> #include <stdio.h> #include <errno.h> int main( void ) { char string[256]; char str[10]; char *moji = "12345464"; int l; // using template versions of strcpy_s and strcat_s: strcpy(string, "6877897898"); strcat(string, "strcpy_s"); strcat(string, "and"); // of course we can supply the size explicitly if we want to: strcat(string, "strcat_s!"); strncpy(str, string, 10); l = strtol(str,NULL,10);// 値が違う 6877897898にならない printf("str = %d\n", l); l = atoi(moji); printf("moji = %d\n", l); l = atoi(string);// 値が違う printf("string = %d\n", l); printf("String = %s\n", string); getchar(); return 0; } 表示結果 str = 2147483647 moji = 12345464 string = 2147483647 String = 6877897898 mojiは正常に動作しますから、ナル文字が原因なのかと思ってしまいますが。原因がいまいち分かりません。 よろしくお願いします。

  • (String)nullはnullではなく文字列?

    引数として、(String)nullを渡しているコードがあるのですが、 これは「null」ではなく文字列としての「null」を渡しているのでしょうか? ・Stringでキャストしていると思うのですが、nullもキャストできるのでしょうか? ・それとも何か特別な意味がある?

    • ベストアンサー
    • Java
  • 配列のメリットは?

    下記のコードは同じ動作をします。 Sub 普通() Dim moji1 As String Dim moji2 As String moji1 = Range("a1").Value moji2 = Range("a2").Value MsgBox moji1 & moji2 End Sub --------------------------------------------- Sub 配列() Dim moji(2) As String moji(1) = Range("a1").Value moji(2) = Range("a2").Value MsgBox moji(1) & moji(2) End Sub こういう場合は配列を使ったほうがいいのでしょうか? それとも配列は避けたほうがいいのでしょうか?

  • Const に dim は使えない?

    標準モジュールに ''''''''''''''''''''''''''''''''''''''''''' Dim Const moji As String = "a" Sub test1() MsgBox moji End Sub Sub test2() Dim Const moji As String = "a" MsgBox moji End Sub ''''''''''''''''''''''''''''''''''''''''''' とするとエラーになりますが ''''''''''''''''''''''''''''''''''''''''''' Public Const moji As String = "a" Sub test3() MsgBox moji End Sub ''''''''''''''''''''''''''''''''''''''''''' なら大丈夫です。 Const に対してdimは使えないのでしょうか?

  • PHPの記述方法について

    $string[$key] = ($string[$key] != "") ? intval($string[$key]) : NULL; このプログラムはどういう記述の仕方をしているのでしょうか? : NULL; や ? の意味が解らなくて困っています。

    • ベストアンサー
    • PHP
ポケトーク字幕の使い方とは?
このQ&Aのポイント
  • ポケトーク字幕を使用する方法と、必要な機材についてご紹介します。
  • ポケトーク字幕を使用して相手の英語を日本語に翻訳して画面に表示する際、相手もポケトーク字幕を購入、ダウンロードする必要はありません。ホストが購入、ダウンロードすれば全員が翻訳機能を利用できます。
  • また、ZOOMのホストでない参加者がポケトーク字幕を用意すれば、会議に参加している全員が翻訳機能を利用できます。
回答を見る