「boolをStringに変換して長さを見てtrueと判断」へのコメント
「水無月ばけらのえび日記 : boolをStringに変換して長さを見てtrueと判断」について、4件のコメントが書かれています。
[5450] Re:「boolをStringに変換して長さを見てtrueと判断」
えむけい (2009年6月3日 23時27分)
> こんな感じのコードなのでしょうか。
> boolean foo = bar.check();
> if(foo.toString().length == 4){
> // 処理
> }
Javaの基本型は自動ボクシングされないので(Java SE 6から一部導入されたようですが)、直接toStringメソッドは適用できません。また、String#lengthはフィールドではなくメソッドです。したがって、
if (String.valueOf(foo).length() == 4) {
のように書く必要があります。
# 突っ込むところそこかよ
[5451] Re:「boolをStringに変換して長さを見てtrueと判断」
ばけら (2009年6月4日 3時1分)
>Javaの基本型は自動ボクシングされないので(Java SE 6から一部導入されたようですが)、直接toStringメソッドは適用できません。また、String#lengthはフィールドではなくメソッドです。したがって、
>if (String.valueOf(foo).length() == 4) {
>のように書く必要があります。
なるほど、ありがとうございます。勉強になります。
完全にC#のノリで書いていました。
[5452] Re:「boolをStringに変換して長さを見てtrueと判断」
masa (2009年6月4日 9時52分)
昔FORTRANでNaNを判定する関数がなくて、
文字列に出力した結果を使って判定するような処理を
実装したことを思い出します
[5454] Re:「boolをStringに変換して長さを見てtrueと判断」
ばけら (2009年6月6日 3時48分)
>昔FORTRANでNaNを判定する関数がなくて、
>文字列に出力した結果を使って判定するような処理を
>実装したことを思い出します
なるほど……。
FORTRANはよく分からないのですが、「NaN==NaNは常にfalse」が成立しなかったりするのでしょうか。NaN==NaNが常にfalseなら、
if(foo!=foo){
//NaNのときの処理
}
のような感じで行けそうな感じもするのですが。
「水無月ばけらのえび日記 : boolをStringに変換して長さを見てtrueと判断」についてコメントを書く場合は、以下のフォームに記入してください。