これらのラッパークラスのメソッドに関連するいくつかの質問があります。
まず、メソッドLong(またはInteger)がvalueOfメソッドのパラメーターとして文字列を受け取るのはなぜですか?代わりに、toStringメソッドで数値プリミティブを取りますか?(以下の例を参照)
次に、以下にリストされているコードの2行目が(最初の引数として文字列を使用して)機能しないのに対し、最初の行は(最初の引数としてlong(またはint)を使用して)正常に機能するのはなぜですか。
どちらのメソッドも、2番目の引数(この場合は8)で指定された基数に変換された最初の引数で記述された値の値をそれぞれString型とLong型で返す必要があります。
String s = Long.toString(80,8)// takes a numeric primitive and it works fine.
Long l = Long.valueOf("80",8)// takes a string as first argument it does not compile,
//(as it was because in radix 8 cannot "read" the number 8
// and therefore it prompts an NumberFormatException.