2016-10-13 9 views
-2

1つの文字列の長さを取得して値を返すのは本当に簡単です!1つのメソッドを使用して文字列の長さを取得する方法は? SHORTER

public static int length(String s){//trys and returns length of any string 
    try{//try code 
    len = s.length();//gets the length of any string 
    }catch (NullPointerException nullError){//checks for nulls 
     len = 0;//if there is a null then there is 0 length of the string 
    } 
    return len;//return the integer length of any string 
} 

この単純なコードはエラーをキャッチします。 エラーの例は、JOptionPaneを使用し、ユーザーが何も印刷しないとXをクリックするだけです。これはNullエラーの原因になります。 その場合、長さはちょうど0になります!

今、私はこれをより短いコードにする方法を知りたいだけです!

+5

あなたの質問は? –

+0

私の友人の一人がこれを知っている必要がありますので、私は彼らと、これを使いたい他の人のためにこれを投稿しました! @AmerQarabsa –

+1

ようこそスタックオーバーフロー! [How to Ask](http://stackoverflow.com/help/how-to-ask)のページを見て、SOコミュニティを最大限に活用するためのヒントや、良い質問や答え。この特定のフォーマットは、誰かが答えることができない問題を提示していないので、質問としては本当に適切ではありません。開始のヒントについては、ヘルプセンターをご覧ください。がんばろう! – nbrooks

答えて

2

​​3210

+0

ありがとうございました!私はもっ​​と学ぶ必要がある! –

+0

問題はありません。誰もがいつか新しいです。あなたの問題を解決した場合は、その答えを受け入れることを忘れないでください。また、ここで新しい方は[ツアー](http://stackoverflow.com/tour)を読んでください。ようこそ、SO :-) – Gikkman

-1
public static int length(String s){ 
    return s==null?0:s.length(); 
} 
+0

ありがとうございました! –

0

エンドの誤解があります。

ヌル文字列はヌルです。 の長さはではありません! の文字列が長さ0

を持っており、より多くの混乱を追加するために、あなたは

String str = null; 
System.out.println(str); 

サプライズ...ちょうど空の行よりも以上を印刷しますやるとどうなるか試してみてください。

言い換えれば、を定義する前によく考えてください。null文字列の長さが0です!その意味で

、あなたはより良い

public static String ensureNotNull(String input) { 
    if (input == null) { return ""; } 
    return input; 
} 

String someString = ... coming from somewhere, maybe null 
someString = ensureNotNull(someString); 

がsomeStringは、長さ0を持ち、かつnullでないことを確認してくださいということためのようなものをやっているかもしれません!もっと重要なのは、 "あなたの"アイデアはA)ある文字列変数B)いくつかの追加のint変数を持つことです。意味:その文字列の値に基づいて、追加のint値に従わなければなりません。だから、突然、その文字列を扱うあなたのコードは... 他の int値を扱わなければなりません。すべての時間。いい考えではない。

+0

nullがある場合、長さを0にしたいと言っています。ありがとうございました! –

+0

最新の回答をご覧ください。私はそれに対処する**良い**方法があると思う。 – GhostCat

+0

私はまたそれを整数にする必要があります。 –

関連する問題