【发布时间】:2022-01-25 03:45:28
【问题描述】:
如何访问使用通用类列表添加和创建的两个值?我创建了一个具有 2 个变量 (tag_id) 和 (rssi) 的泛型类。
通用类
@Getter
@Setter
@Data
public class Test<T>{
public int tag_id;
public float rssi;
public List<T> list = new ArrayList<>();
public Test() {
}
}
RFID 类
@Getter
@Setter
@Data
public class RFID extends Test {
public RFID(float rssi) {
this.rssi = rssi;
}
标签类
@Getter
@Setter
@Data
public class Tag extends Test {
public Tag(int tag_id) {
this.tag_id = tag_id;
}
主类
public static void main(String[] args) {
List<Test> testlist = new ArrayList<>();
testlist.add(new Tag(1));
testlist.add(new RFID(1));
}
我想这样输出:[1(tag_id), [1.0,2.0,3.0](rssi)]。我可以达到这两个值,但不是嵌套类型,我可以将值添加到我的测试列表,但我想输出嵌套类型。
【问题讨论】:
-
嵌套类型是什么意思?你的问题不清楚。更多细节
-
-
泛型实际上并不存在,它们只是用于编译检查。在您的运行时,您的实例真正属于它们的原始对象类型,因此您可以使用
instanceof,或者只是在每个类中覆盖toString()。
标签: java arrays list generics nested