我有两个类,ClassOne并且ClassTwo,它们更新一个公共字段data,即,
public class ClassOne {
public byte[] data = new byte[10];
// Thread that updates data
}
和
public class ClassTwo {
public byte[] data = new byte[10];
// Thread that updates data
}
在任何给定时间,只有一个类及其关联线程正在运行,即应用程序在运行时检测数据源并使用ClassOne或ClassTwo。我想在一个名为 的单独类中解析数据ParseMyData,但对于设置它的最佳方法有点困惑,以便ParseMyData可以data从ClassOne或访问ClassTwo。
我目前正在尝试使用泛型来做到这一点,例如:
public class ParseMyData<T> {
T classOneOrClassTwo;
ParseMyData(T t) {
classOneOrClassTwo = t;
}
public void parseIt() {
// Need to access data from either ClassOne or ClassTwo here, something like:
classOneOrClassTwo.data; // this obviously doesn't work
}
所以我的问题是如何data从课堂上访问该字段ParseMyData?我必须使用反射吗?反射是唯一且最好的方法吗?
泛型和反射的新手,因此非常感谢您的想法和指针。