水無月ばけらのえび日記

bakera.jp > 水無月ばけらのえび日記 > boolをStringに変換して長さを見てtrueと判断 > 「boolをStringに変換して長さを見てtrueと判断」へのコメント

「boolをStringに変換して長さを見てtrueと判断」へのコメント

[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のときの処理

}

 のような感じで行けそうな感じもするのですが。

[7666] 未承認メッセージ (投稿元:46.21.144.52)

hphtimge (2012年10月23日 10時20分)

(この記事は承認されていないため、管理者が許可するまで公開されません。)

[7992] 未承認メッセージ (投稿元:46.21.144.52)

kssqhpsu (2012年12月29日 8時7分)

(この記事は承認されていないため、管理者が許可するまで公開されません。)

新規投稿フォーム

※広告や宣伝の書き込みはご遠慮ください。

:

:

:

最近の日記

関わった本など