3
int n ;
n= (int)( javax.swing.JOptionPane.showInputDialog(null,"enter a 3 digit no."));

上記のエラー[必須のint、見つかった文字列]が発生し、以下のエラーが正常に機能するのはなぜですか?

int n ;
n= Integer.parseInt( javax.swing.JOptionPane.showInputDialog(null,"enter a 3 digit no."));
4

3 に答える 3

9

Integer.parseIntキャストを使用せず、文字列内の数字を数値として解釈するための単純なアルゴリズムを使用します。キャストは、JVMによってプリミティブ値に直接行われるか、コンパイラによってオブジェクト参照に行われます。(基になる値を変更するための型変換)および(インスタンスを変更しないための参照キャスト4.5)に変換できますが、数値をネイティブに解析またはフォーマットすることはできません。4ArrayListList

于 2012-05-27T19:59:51.737 に答える
8

型キャストは型変換ではありません。用語を混同しないでください。キャストとは、同じバイナリ表現を別のタイプの値として再解釈することを意味します。Javaに変換がありますが、それはプリミティブな数値の間だけです。文字列は参照型です、あなたはそれを知っていると思います。

于 2012-05-27T20:00:35.137 に答える
1

Javaでは、有効なキャスト、つまり作成方法を知っているキャストのみを作成できます。文字列をintにキャストすることは無意味です。構文解析ではありません。

于 2012-05-27T20:04:13.610 に答える