[解決済み] ArrayList<Long>の初期化
質問
なぜ、このようにArrayListを初期化できるのですか?
ArrayList<Integer> x = new ArrayList<Integer>(Arrays.asList(1,2));
しかし、使用時にエラーが発生しました。
ArrayList<Long> x = new ArrayList<Long>(Arrays.asList(1,2));
解決方法は?
説明
Javaは自動的に
int
から
long
必要であれば
ただし、Java
は同じことをしません。
からの変換が
Integer
から
Long
が必要です。
この関数は
Arrays.asList(...)
を返します。
List<E>
と
E
はパラメータとして使用される型です。というように
1, 2, 3
の場合、その型は
int
. しかし、一般的な使用法である
データ型
として
List<int>
は、Javaでは(少なくとも現在は)不可能です。そのため,自動的に
int
から
Integer
を生成し
List<Integer>
オブジェクトを作成します。この処理を
オートボックス
Javaは、すべてのデータ型に対して、対応するオブジェクト表現にこれを行うことができます。
ここで、コンストラクタ
new ArrayList<Integer>(List<E> list)
を期待します。
E
のような型であることが必要です。
Integer
. ですから
List<Integer>
は入力として機能します。
しかし
new ArrayList<Long>(List<E> list)
明らかに
E
の型である必要があります。
Long
. しかし、オブジェクト
Integer
は
型でない
Long
ということになります。
受け入れない
というパラメータがあります。最初によくあるタイプの
Integer
と
Long
は、抽象クラス
Number
(を保持する)。
Double
,
Float
など) (
ドキュメンテーション
).
解決方法
つまり、すべてはインプットを中心に展開されるのです。
1, 2, 3
と解釈されます。
int
ではなく
long
. これを修正するには
明示的に
Javaに
解釈する
という数字を
long
を追加することで、そうすることができます。
l
または
L
の後に番号を入れます。
new ArrayList<Long>(Arrays.asList(1L, 2L, 3L));
今、あなたは
List<Long>
に追加され、さらに
ArrayList<Long>
.
なお、同じ手法で、10進数を明示的に
float
の代わりに
double
:
1.5F
または
1.5f
関連
-
[解決済み】 JAVA 変数宣言はここではできない
-
[解決済み] android.os.NetworkOnMainThreadException' を修正するにはどうすればよいですか?
-
[解決済み] for'ループでインデックスにアクセスする?
-
[解決済み] リストのリストからフラットなリストを作るには?
-
[解決済み] 配列からArrayListを作成する
-
[解決済み] JavaでArrayListではなくLinkedListを使用するのはいつですか?
-
[解決済み] ArrayListの初期化を1行で行う。
-
[解決済み] 割り当て後にリストが予期せず変更されました。その理由と防止策を教えてください。
-
[解決済み] リストを均等な大きさの塊に分割するには?
-
[解決済み] Javaで配列を宣言し、初期化する方法は?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Javaパッケージが存在しないエラー
-
[解決済み] hibernateでResultSetを抽出できない。
-
[解決済み] 二項演算子「&」のオペランド型がおかしい java
-
[解決済み】HTTPステータス500 サーブレットクラスのインスタンス化エラー [重複]。
-
[解決済み】-XX:MaxPermSizeは何をするのですか?
-
[解決済み】破損したjarファイル
-
[解決済み】Javaで文字列をコピーするにはどうしたらいいですか?
-
[解決済み】フォルダに書き込もうとすると「java.nio.file.AccessDeniedException」が発生する件
-
[解決済み】CreateProcess error=2, The system cannot find file specified.
-
[解決済み】List.ofとArrays.asListの違いは何ですか?