新生鳩丸掲示板♯

bakera.jp > 新生鳩丸掲示板♯ > スレッド内全記事表示 (記事 5450 からのスレッド)

スレッド内全記事表示 (記事 5450 からのスレッド)

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

}

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

最近の日記

関わった本など