java jeneric
間違ったところがあれば、コメントや非難を歓迎します.
https://namjackson.tistory.com/18を参考に作成しました.
大まかに作成されたコードが何なのかを知るために、参考にしてください.
1 . ジェニーン・リックバンインタフェースは
public class TestGenericMethod {
}
JENICクラステスト Main関数または実行クラスで行う
1.Genericタイプは存在する.
2.?未知のタイプ、使い方は次のとおりです.
3. : すべてのオブジェクトはデータ型で、内部はオブジェクトとみなされます.
4.:オブジェクトリポジトリ内の親オブジェクトを指定します.内部オブジェクトとして扱われます.
5.:名前付きオブジェクトリポジトリのサブオブジェクトを継承し、内部的に名前付きオブジェクトリポジトリとみなす
https://namjackson.tistory.com/18を参考に作成しました.
大まかに作成されたコードが何なのかを知るために、参考にしてください.
1 . ジェニーン・リックバン
public class GenericSource<T> {
private T t;
public T getT() {
return t;
}
public void setT(T t) {
this.t = t;
}
}
public class GenericSource2<T> {
private int test2;
private int test3;
public int getTest2() {
return test2;
}
public void setTest2(int test2) {
this.test2 = test2;
}
public int getTest3() {
return test3;
}
public void setTest3(int test3) {
this.test3 = test3;
}
@Override
public String toString() {
return "GenericSource2 [test2=" + test2 + ", test3=" + test3 + "]";
}
}
interface InterFaceExample <T1,T2>{
T1 testMethod12(T2 t);
T2 testMethod13(T1 t);
}
public class TestInterface implements InterFaceExample<String, Integer>{
@Override
public String testMethod12(Integer t) {
return String형태;
}
@Override
public Integer testMethod13(String t) {
return Integer형태;
}
}
3.使用方法の場合//メソッドのパラメータTが宣言されている場合は、タイプを返す前にGenericタイプを宣言する必要があります。
public class TestGenericMethod {
public static <T> List<T> methodEx(List<T> list,T item)
{
list.add(item);
return list;
}
-->TをString Classタイプに変えてもOK
public static <String> List<String> methodEx12(List<String> list,String item)
{
list.add(item);
return list;
}
public static <Integer> List<Integer> methodEx12(List<Integer> list,String item)
{
list.add(item);
return list;
}
//parameterに形のリストがあるので、車に戻ってもそれを使います.}
JENICクラステスト
public class GenericMain {
public static void main(String args[]) {
GenericSource<Integer> test = new GenericSource<Integer>();
GenericSource<String> test1 = new GenericSource<String>();
test.setT(10);
test.setT("test123"); error[test에는 문자열이 들어올수없다 위에 이미 선언을 해놔서]
test.setT(123);// integer으로 했을떄 정상
test1.setT(123); error[test1 변수는 String 클래스만 들어오게 설정해놔서 int형은 들어올수 없다]
// String 으로 했을 경우는 정상
test1.setT("test123");
String paramStr = "1";
Integer paramint =0;
List<String> strList = new ArrayList<String>();
List<Integer> intList = new ArrayList<Integer>();
TestMethod.methodEx(strList, paramStr);(O);
TestMethod.methodEx(strList, paramint);(X);
}
}
5.次はワイルドカード1.Genericタイプは存在する.
2.?未知のタイプ、使い方は次のとおりです.
3. : すべてのオブジェクトはデータ型で、内部はオブジェクトとみなされます.
4.:オブジェクトリポジトリ内の親オブジェクトを指定します.内部オブジェクトとして扱われます.
5.:名前付きオブジェクトリポジトリのサブオブジェクトを継承し、内部的に名前付きオブジェクトリポジトリとみなす
Reference
この問題について(java jeneric), 我々は、より多くの情報をここで見つけました https://velog.io/@ciao-haru/java-제네릭テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol