[解決済み] Java Genericメソッドをstaticにするには?
2022-03-04 18:56:35
質問
以下は、配列に1つの項目を追加するJava汎用クラスの作成方法に関するスニペットです。 appendToArrayをスタティックメソッドにするにはどうしたらよいでしょうか。 メソッドのシグネチャにstaticを追加すると、コンパイルエラーになります。
public class ArrayUtils<E> {
public E[] appendToArray(E[] array, E item) {
E[] result = (E[])new Object[array.length+1];
result[array.length] = item;
return result;
}
}
解決方法は?
に変更することです。
public static <E> E[] appendToArray(E[] array, E item)
重要な内容です。
戻り値の前にある汎用式は、常に新しい汎用型変数を導入(宣言)します。
さらに、型と型の間の型変数(
ArrayUtils
) と静的メソッド (
appendToArray
) が互いに干渉することはありません。
で、これはどういうことかというと。
私の回答では
<E>
を隠すことになります。
E
から
ArrayUtils<E>
でない場合、そのメソッドは
static
. そして
<E>
は何の関係もありません。
E
から
ArrayUtils<E>
.
この事実をよりよく反映させるためには、より正しい答えが必要です。
public static <I> I[] appendToArray(I[] array, I item)
関連
-
[解決済み] tempとは何ですか、またjavaにおけるtempの用途は何ですか?
-
[解決済み] アニメーションGIFの表示
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] JavaでNullPointerExceptionを回避する方法
-
[解決済み] JavaにおけるHashMapとHashtableの違いは何ですか?
-
[解決済み] Java Mapの各エントリを効率的に反復処理するには?
-
[解決済み] Javaでメモリーリークを発生させるにはどうしたらいいですか?
-
[解決済み] JavaでStringをintに変換するにはどうしたらいいですか?
-
[解決済み] 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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] トークンのシンタックスエラー、これらのトークンを削除してください [closed].
-
[解決済み] java.sql.SQLException: ORA-00933: SQL コマンドが正しく終了していません。
-
[解決済み] Java - JTextFieldが空かどうかを確認する
-
[解決済み] パラメータ[変数]の不正な修飾子;finalのみが許可される[closed]。
-
[解決済み] javaで部分クラスを実装する方法
-
[解決済み] 環境変数JAVA_OPTSの使い方を教えてください。
-
[解決済み] double 型を Int 型に変換、切り捨て
-
[解決済み] Java UnknownFormatConversionException
-
[解決済み] 1行目2列目でBEGIN_ARRAYを期待したが、BEGIN_OBJECTだった。
-
[解決済み] java.io.IOException。DER長の短い読み取り