R00001 2013-01-18 15:54:03

[Java] javadocにはちゃんと書いてあるよ。 このエントリーをはてなブックマークに追加

投稿者からのアピールポイント

javaでlangなStringクラスですが、ありですか? レスポンス電文に、nullって出た日には、ぬるぽって思いました。

public static String valueOf(Object obj) {
     return (obj == null) ? "null" : obj.toString();
}

コメント(8)

#1 InternalServerE 2013-01-20 10:09:34  

なしだとして、投稿者さんならどうあるべきだと思ってるのかしら。
単にvalueOfの仕様が自分の都合に合わない、と言っているわけではないよね。

#2 R00001 2013-01-21 08:02:10  

そうですね。このメソッドの目的はobj.toString()することなので、objが、not nullであることを、前提条件として、 NullPointerExceptionを投げるのが自然な気がします。

通常は、その前に、ojbのバリデーションで弾かれるので、起こりにくいケースだと思いますが、 nullならともかく、"null"って、if ("null".equals(String.valueOf(Ojb))) {}しろって言うのかと、 いろいろ考えてしまいました。

もしかすると、深い意図があるのかもしれないし、今更直せないと思うので、なんとも言えませんが、これって、有名ですか?

#3 InternalServerE 2013-01-21 13:43:24  

> このメソッドの目的はobj.toString()することなので、
…本当???
javadoc見る限り、そういう仕様にも目的にも読み取れませんぜ。「文字列表現を取得」とは明記してあるけど、それってobj.toString()とは等価じゃないよね。。?

#5 1024553352 2013-01-22 01:15:52  

ガッ

#6 R00001 2013-01-22 04:40:13  

ガッ http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4867608

#7 InternalServerE 2013-01-22 21:34:17  

↑おお、これは初耳。
String.valueOf(null)と書くと、String#valueOf(char[])がコールされてNullPointerExceptionで落ちますな。

「nullへの参照じゃなくnullそのものを引数に指定すると起きる例外だよ」とあるけど、そんな破天荒コーダーがもしいたら、そっちをウンコードにノミネートしても良さそう。

ちなみに、↑のバグとこの投稿って趣旨合致してるんだっけ。

#8 math_neko 2013-05-13 12:17:42  

これはかなり高度なバグですな。ウンコードの趣旨とは違う気もしますが。