67,550
社区成员




// 泛型方法
public List<?> screenedList(List<?> list){
return null;
}
import java.util.*;
public class Test {
// 泛型方法
public static <T> void screenedList(List<? extends Object> list, Class<T> holdClass){
for(int i = list.size()-1; i >=0 ; i --){
Object item = list.get(i);
if(item.getClass() != holdClass){
list.remove(i);
}
}
}
public static void main(String[] args){
List list = new ArrayList();
list.add(new Test());
list.add(new Object());
list.add(new Test());
list.add(new Test());
System.out.println(list);
screenedList(list,Test.class);
System.out.println(list);
}
}
public class ScrList {
public static void main(String[] args) {
List<String> list = new ArrayList<>();
for (int i = 0; i < 10; i++) {
list.add("#" + i);
}
scrList(list);
List<Integer> list2 = new ArrayList<>();
for (int i = 0; i < 10; i++) {
list2.add(i);
}
scrList(list2);
}
public static <T> List<T> scrList(List<T> list) {
for (int i = 0; i < list.size(); i++) {
T t = list.get(i);
System.out.println(t + " ---- " + t.getClass());
}
return list;
}
}
public class ScrList {
public static void main(String[] args) throws Exception{
List<String> list = new ArrayList<>();
for (int i = 0; i < 10; i++) {
list.add("#" + i);
}
scrList(list, String.class);
List<Integer> list2 = new ArrayList<>();
for (int i = 0; i < 10; i++) {
list2.add(i);
}
scrList(list2, Integer.class);
}
public static <T> List<T> scrList(List<T> list, Class<T> clz) throws Exception {
for (int i = 0; i < list.size(); i++) {
T t = list.get(i);
Method method = clz.getDeclaredMethod("toString");
String ss = (String) method.invoke(t);
System.out.println(t + " ---- " + t.getClass() + " ---- " + ss);
}
return list;
}
}