泛型接口
测试代码
1 interface TestInterface<T> {
2 void test(T item);
3 }
4
5 class TestInterfaceImp1 implements TestInterface<String> {
6
7 @Override
8 public void test(String item) {
9 System.out.println(item);
10 }
11 }
12
13 class TestInterfaceImp2<T> implements TestInterface<T> {
14
15 @Override
16 public void test(T item) {
17 System.out.println(item);
18 }
19 }
调用代码
1 System.out.println("generic interface test");
2 TestInterface<String> testInterface1 = new TestInterfaceImp1();
3 testInterface1.test("hi");
4 for (Method item : testInterface1.getClass().getMethods()) {
5 if (item.getName() == "test") {
6 System.out.println(item.getParameterTypes()[0].getName());
7 }
8 }
9
10 TestInterface<String> testInterface2 = new TestInterfaceImp2<>();
11 testInterface2.test("hi");
12 for (Method item : testInterface2.getClass().getMethods()) {
13 if (item.getName() == "test") {
14 System.out.println(item.getParameterTypes()[0].getName());
15 }
16 }
输出结果
1 generic interface test
2 hi
3 java.lang.String
4 java.lang.Object
5 hi
6 java.lang.Object