自定義泛型方法
阿新 • • 發佈:2022-05-25
自定義泛型方法
程式碼示例
package com.atguigu.generic; import java.util.ArrayList; import java.util.List; /** * 功能描述 * * @since 2022-05-25 */ public class GenericMethod<T> { T a; // 非泛型方法 void set(T a) { this.a = a; } // 泛型方法 <E> List copyFromArrayToList(E[] array) { ArrayList<E> arrayList = new ArrayList<>(); for (E ele : array) { arrayList.add(ele); } return arrayList; } public static void main(String[] args) { Integer[] a = {1, 2, 3}; GenericMethod<String> genericMethod = new GenericMethod<>(); List list = genericMethod.copyFromArrayToList(a); System.out.println(list); String[] b = {"abb", "abc"}; GenericMethod<Object> genericMethod1 = new GenericMethod<>(); List list1 = genericMethod1.copyFromArrayToList(b); System.out.println(list1); } }
泛型方法可以是靜態方法
package com.atguigu.generic; import java.util.ArrayList; import java.util.List; /** * 功能描述 * * @since 2022-05-25 */ public class GenericMethod<T> { T a; // 非泛型方法 void set(T a) { this.a = a; } // 泛型方法 static <E> List copyFromArrayToList(E[] array) { ArrayList<E> arrayList = new ArrayList<>(); for (E ele : array) { arrayList.add(ele); } return arrayList; } public static void main(String[] args) { Integer[] a = {1, 2, 3}; List list = GenericMethod.copyFromArrayToList(a); System.out.println(list); String[] b = {"abb", "abc"}; List list1 = GenericMethod.copyFromArrayToList(b); System.out.println(list1); } }