提取泛型类的字段

我有多个类,它们都有一个共同的领域。我正在编写一个处理提取这个公共字段的方法。例如:


class A{

    ..

    String blah;

    ..

}


class B{

    ..

    String blah;

    ..

}

因此,可以使用接受泛型类的方法来实现这一点,而不是为每个类类型编写多个方法吗?我想要的是有一种类型的方法:


void func(List <T> data){

    for(T t:data){

        print t.blah()

    }

}

我知道上面的代码是不正确的,但是我们如何获得类似的功能呢?


白板的微信
浏览 96回答 1
1回答

慕田峪4524236

首先,创建一个包含所有通用方法签名的接口。interface Blah {&nbsp; &nbsp; String getBlah();}然后,创建现有的类A并B实现该接口。(用于@Override确保您正确地覆盖该方法。)最后,在 中func,获取实现该接口的对象列表。void func(List<? extends Blah> data) {&nbsp; &nbsp; for (Blah t : data) {&nbsp; &nbsp; &nbsp; &nbsp; System.out.println(t.getBlah());&nbsp; &nbsp; }}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java