2017-04-13 4 views
-1

以下は、2つの文字列を使用してキーを作成するために書いたコードです。いずれかがnullの場合、空または空白が残りの文字列を使用してキーを構築します。ただし、両方が修飾されていない場合は、空の文字列を返します。私はより効率的なコードを書くつもりです。ここに私のサンプルコードJavaで2つの文字列を使用してキーを効率的に作成するには?

if (!StringAssistant.isBlank(string1) && !StringAssistant.isBlank(string2)) { 
    return StringAssistant.append(string1, string2); 
} 
if (StringAssistant.isBlank(string1) && !StringAssistant.isBlank(string2)) { 
    return string2; 
} 
if (!StringAssistant.isBlank(string1) && StringAssistant.isBlank(string2)) { 
    return string1; 
} 
return ""; 
+1

コードに問題がありますか?どのようなエラーが表示されますか? – brso05

+4

https://codereview.stackexchange.com/ – brso05

+4

別のスタックエクスチェンジサイトに属しているため、この質問をトピックとしてクローズすることにしました。codereview.stackexchange.com –

答えて

0

あなたはとして「シンプル」として何かをすることがあります。下記のようにあなたがコードをリファクタリングすることができます

return StringAssistant.append(StringAssistant.isBlank(string1)?"":string1,StringAssistant.isBlank(string2)?"":string2); 
0

は、単に2つの文字列を追加し、値を返す

return string1+string2; 

をしたり、空の文字列がdoesnのことに注意してください「あなたのStringAssistant.append

return return StringAssistant.append(string1, string2); 

を使用したい場合はさtは戻り値に影響します。したがって、文字列を追加して返すと同じ結果になります。

文字列がnullの場合は、nullの値を別途処理する必要があります。いずれかの文字列がnullの場合、空の文字列を返すことができます。あなたはappendメソッドでそれを扱うことができます。

+1

つまり、「空白文字列を無視する」要件は無視してください?要件を無視すると便利だと思いますか? – Tom

+0

ああ、私はヌル文字列部分を見逃した.. – stinepike

0

大きな文字列のあなたがなるように、私は(最初の両方の文字列のためにあなたがisBlankを評価示唆します結果をより迅速に取得できます):

boolean string1Blank = !StringAssistant.isBlank(string1); 
boolean string2Blank = !StringAssistant.isBlank(string2); 

if(string1Blank && string2Blank) { 
    return StringAssistant.append(string1, string2); 
} else if(string1Blank) { 
    return string2; 
} else if(string2Blank) { 
    return string1; 
} else { 
    return ""; 
} 
関連する問題