モデル編集
4785 ワード
1 class Info<T>
2 {
3 private T var;
4
5 public T getVar() {
6 return var;
7 }
8
9 public void setVar(T var) {
10 this.var = var;
11 }
12
13 @Override
14 public String toString() {
15 return "Info [var=" + var + "]";
16 }
17
18 }
19
20 static void fun(Info<?> in)
21 {
22 System.out.println(in.hashCode());
23 }
24 public static void main(String[] args)
25 {
26 Info<String> info=new Info<String>();
27 info.setVar("wfasf");
28 fun(info);
29 }
30
Info<Integer> i1=new Info<>();
Info<String> i2=new Info<>();
Info<Integer> i3=new Info<>();
i1.setVar(20);
i2.setVar("sfdsdf");
combine(i1,i3);
private static<T > void combine(Info<T> i1, Info<T> i12) {
System.out.println(i1.getVar()+" "+i12.getVar());
}
combineに渡されるパラメータは、同じタイプでなければコンパイルエラーが発生しません.
Integer[] b=fun1(1,2,4,5,3);
private static<T> T[] fun1(T... b) {
return b;
}
T... かへんはいれつ