• 締切済み

Stringを返す getText()メソッドについて

getText()でテキストフィールドから文字列を読み込ませているのですが、文字列を返すのはわかるのですが、テキストフィールドに何も書かないときは何を返すのでしょう?

  • Java
  • 回答数5
  • ありがとう数2

みんなの回答

  • lawson
  • ベストアンサー率44% (29/65)
回答No.5

↑は "" が返ってます。 "" (String型の空文字列) と null の違いはわかりますね。 釈迦に説法だったかもしれませんが・・ 一応、補足しました。 以上

  • lawson
  • ベストアンサー率44% (29/65)
回答No.4

nullではないですよ 実際にコードを書いて実行してみました。 以下のコードを実行してボタンを 押下してみてください。 起動時の一番最初も、含めて テキストフィールドが空の時には nullではない [] と表示されます。 もしnullが返るのであれば、 nullである [null] と表示されると思います。 確認に使った以下ソースコードを貼り付けます import javax.swing.*; import java.awt.*; import java.awt.event.*; class Test extends JFrame { private JTextField tf = new JTextField(); private JButton bt = new JButton("コンソール表示を確認せよ"); public Test() { this.getContentPane().setLayout(null); tf.setBounds(new Rectangle(10, 10, 100, 20)); bt.setBounds(new Rectangle(10, 50, 100, 20)); bt.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e) { String text = tf.getText(); if( text == null ) { System.out.println("nullである"); } else { System.out.println("nullではない"); } System.out.println("[" + text + "]"); } }); this.getContentPane().add( tf ); this.getContentPane().add( bt ); this.setSize(500, 400); this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); this.setVisible(true); } public static void main(String[] args) { Test t = new Test(); } }

  • MarrowG
  • ベストアンサー率53% (41/76)
回答No.3

getText()ってSwingのJTextComponentのやつでしょうか? だとするとこれを継承したクラス、例えばJTextFieldの場合はコンストラクタの解説を見る限り、nullが初期値です。 恐らく他のJTextComponentを継承したクラスも同じだと思います。 詳細は#1の方が提示されているJDK APIの参考URLを見てください。

  • kuro_73
  • ベストアンサー率28% (33/117)
回答No.2

ごめんなさい。調査不足かもしれませんが・・・ getText()メソッドってJDKに含まれるObjectの中のメソッドですか? それとも、ユーザー作成メソッドですか? もしユーザー作成メソッドであれば、作成したときのデフォルトが返されるのだと思いますが。 コンナ感じですよね? public class AAAA{ String aaa=null; //----(1) public String getText(){ return aaa; } } (1)でブランクにしていたらブランクが返されるし (1)でnull(例のように)にしていたらnullがかえされますよね?

  • ---
  • ベストアンサー率50% (7/14)
回答No.1

nullだと思いますが。 参考URLにあげたAPIはご覧になりました?

参考URL:
http://java.sun.com/products/jdk/1.2/ja/docs/ja/api/index.html

関連するQ&A

  • Stringクラスのlengthメソッドについて

    こんにちは、Stringクラスのlengthメソッドについて質問させてください。 今まで配列のlengthは、宣言時に長さが決定するからメソッドではなく、finalフィールドで十分。 ArrayListだとかは長さが変わるからメソッドという意識を持っていました。 (カプセル化の概念とも関わりますが) 先日その話しをしていたら、「でも文字列(Stringオブジェクト)の長さも不変だよね。」と言われました。 確かに文字列の長さは不変なのに、長さの取得にはメソッドを使っています。 言語仕様として一貫性を持たせるなら、配列もlengthメソッドにするか、文字列をlengthフィールドにしたほうが綺麗だと思うんです。 Stringクラスのソースコードを見ていたら、文字列の長さは内部的に private int count; と宣言されていました。 そして、lengthメソッドは return count; しているだけでした。 ただ、このcountフィールドに値を代入しているのはコンストラクタ内だけだったので、 public final int length; とすれば、良かったのでは?と思いました。 この考えについて、 それは間違っている、とか歴史的な背景などご存知でしたらご教授ください。 よろしくお願致します。

  • 文字列の入っているString値、何も入力されていないString値、Null値の全てを表示されるには?

    access2003です。 フォーム1とクエリ1とテーブル1があります。 クエリ1の「テーブル1の番号フィールド」の抽出条件に 「Like "*" & [Forms]![フォーム1]![番号テキスト] & "*"」と入力しています。 フォーム1の番号テキストに「1」を入力しコマンドホ゛タンを押すと 「1」を含むレコードを表示され フォーム1の番号テキストに「*」を入力しコマンドホ゛タンを押すと 何かしらの文字列が入力されているレコート゛が表示されます。 しかし テーブル1番号フィールドには、 Null値と何も入力されていないString値(""←が入っている)も含まれています。 (見た目は空白どちらも空白です) (String値がある理由はADOを使って何も入力されてない値もまとめてレコードに追加している為) ここで質問なのですが フォーム1のコマンドホ゛タンを押したときに 文字列の入っているString値、何も入力されていないString値、Null値の全てを表示されるには どうすればいいのでしょうか? よろしくお願い致します。

  • stringのデータ型はメモ型とテキスト型どちらがいいのでしょうか?

    こんばんは。 アクセスで 100文字のデータを入力したい場合、 フィールドのデータ型は テキスト型にしてフィールドサイズを100にするのと、 メモ型にするのとどちらがいいのでしょうか?

  • stringオブジェクト

    あるテキストの問題に 「STRINGオブジェクトはいくつ作成されますか? String a,b,c; a="1234"; b=a; c=a+b; 」 というのがあったんですが、答えは2個でaとb。 cはストリング文字列だから、という答えでした・・・ えーーー?!? とびっくりしてしまいました。 なぜなら、"1234"というのも文字列だと認識していたからです。 StringオブジェクトとString文字列の境目は何ですか?

    • ベストアンサー
    • Java
  • MS Wordのテキスト ボックス フォーム フィールドについて

    もらったMS Wordのファイルに「テキスト ボックス フォーム フィールド」がいくつか設定されています。そのひとつをダブルクリックすると「テキスト ボックス フォーム フィールド」というダイアログが現れて、その中の「規定の文字列」にしかるべき文字列が書かれています。しかし、あるものは「規定の文字列」に文字列が書かれていないものがあります。例えば、「This is a pen.」と書かれている「テキスト ボックス フォーム フィールド」をダブルクリックしても、「規定の文字列」は空欄になっています。それでは、この「This is a pen.」という文字列はどこに書かれているのでしょうか? 教えてください。versionはWord 2003です。よろしくお願いします。

  • 空の文字列とnullと""

    java初心者です。 空の文字列とnullと""の3つの関係がよくわかりません。 TextFieldを使った簡単なプログラムを作りました。そこで、”TextFieldに何も入力されていないこと”を判定する文を書こうと思ったのですが、どう書けばいいのか迷いました。 TextFieldのオブジェクトをtfとして、tf.getText()==""かtf.getText()==nullで大丈夫だと思いましたが、実行してみると、どちらを用いても判定できませんでした。結局、tf.getText().length()==0で判定できました。そこで、リファレンスを見ると、getText()はデフォルトで空の文字列を返すと、書いてありました。 したがって、「""とnullは空の文字列とは異なる」という理解に至ったのですが、では空の文字列とは何なのかという疑問がわいてきました。 また、自分は""とnullの違いもよくわかっていません。""とnullが異なるものである、ということはわかるのですが・・・ 質問をまとめると ・空の文字列とは何なのか? ・空の文字列は""やnullとどう違うのか? です。よろしくお願いします。

    • ベストアンサー
    • Java
  • replaceChildメソッドについて

    XMLの扱いがわからなくて困っています。 javaでXMLのノードを変える、例えば、 jspの画面で要素ノードとテキスト名(要素ノードの内容)を入力して 送信ボタンを押したら、要素ノードでノード検索をしてそのテキスト名を 変更するという処理をする場合、replaceChildメソッドを使うのかと 思ったんですが、replaceChildメソッドだと、「既存のノード」しか 置き換えれなくて文字列が指定できません。 この場合、文字列をノードに変換するメソッドがあるのか、それとも 他に方法があるのか教えていただけないでしょうか。 お願いします。 よろしくお願いします。

    • ベストアンサー
    • XML
  • Stringとは一体何だ?

    Stringは型なのでしょうか?それともクラスなのでしょうか? Stringは参照型の型で、クラスを表す、つまり文字列を表す参照型の型であり文字列を表すクラスでしょうか?説明が悪くてごめんなさい。Java歴二週間です。

    • ベストアンサー
    • Java
  • ファイルメーカー10のGetField

    どうしてもわからないのでご教授してください。 http://www.filemaker.co.jp/help/html/func_ref3.33.7.html 例 「矢」および「的」というフィールドがあるとします。 「矢」フィールドにはテキスト文字列「的」が含まれ、「的」フィールドにはテキスト文字列「標的」が含まれています。 GetField ( "矢" ) は、「的」を返します。 テキスト文字列が< フィールド名> 引数であることを示すために、「矢」をダブルダブルクォーテーションで囲むことに注意してください。 GetField ( 矢 ) は、「標的」を返します。 「矢」フィールドに含まれる値が< フィールド名> 引数であることを示すために、「矢」をダブルクォーテーションマークで囲まないことに注意してください。 どうしてGetField ( 矢 ) が「標的」になるのですか?

  • テキストフィールド入力文字列を別の場所に表示

    テキストフィールドに入力した文字列が、ボタンクリック時に 同じ画面上のある領域に表示される様な仕組みを考えています。 この、ある領域がテキストフィールドである場合はJavaScriptを使用して 簡単に出来る事は確認済みなのですが、この表示文字列は変更されたくありません。 そこで、テキストフィールドの入力禁止措置を施し、これもOKなのですが、もっと単純に HTMLとして通常の表示文字列(テキストフィールド等ではなく)として 表示したいのです。 1)VisualBasicでいうところのlabelコントロールみたいな入力不可の   オブジェクトはHTMLとしてありますか?   (色々探したけど無いですよね?多分。) 2)この様な事を実現する場合、HTMLとJavaScriptではどの様に行うのですか? 以上、よろしくお願いします。