3

Javaのパラメータとして999 999 999より大きい数値を渡すことはできますか?

私がこれを行うと、コンパイラエラーが発生します リテラル 999 999 999 9 の型は範囲外です

 passNumber(9999999999);

 public String passNumber(long number){
     if(number > 999999999)
         throw new BigNumberException("Number too large")
 }
4

3 に答える 3

9

これは、9,999,999,999 がコンパイラによって と見なされ、(2,147,483,647)intよりも大きいためです。Integer.MAX_VALUE

:を使用できlongます9999999999L

于 2012-07-15T09:21:30.627 に答える
7

9999999999Lint リテラルではなく long リテラルであることをコンパイラに伝えるために使用します。

于 2012-07-15T09:21:51.377 に答える
4

これは、90 億が整数の範囲外であるためです (signed int は 2,147,483,647 まで、unsigned int は 4,294,967,295 まで)。

詳細については、こちらをご覧ください。

于 2012-07-15T09:22:14.047 に答える