我有两个类,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
?我必须使用反射吗?反射是唯一且最好的方法吗?
泛型和反射的新手,因此非常感谢您的想法和指针。