在java中将字符串转换为变量

v8wbuo2f  于 2021-07-09  发布在  Java
关注(0)|答案(4)|浏览(522)

我正在基于java的平台kmax中构建一个daq。这个平台有一个设计界面,可以使用直方图之类的对象。每个直方图都有一个名称,在设计界面上声明。
在你必须使用的代码中调用直方图

hist = tlsh.getKmaxHist("DATA");

绳子 DATA 是用户在设计界面中给出的名称 hist 是引用对象的变量。每个直方图对象都有它可以使用的特定类。例如 hist.getSum() 给出直方图的总和。
在我的daq中,我有许多直方图。我的计划是创建一个滑块框来选择直方图,用户希望应用一些函数(例如 getSum() ). 滑块框有一个类( string getProperty("VALUE") )返回用户选择的值。
计划是使用 sliderBox.getProperty("VALUE").getSum() . 当然类似的东西是无效的,因此我想知道是否有一种方法可以“转换” getProperty() 返回到代码中已定义的变量中。

u59ebvdq

u59ebvdq1#

在我看来你需要一个 Map<String, Histogram> . 编译java代码时,变量名将丢失。

cbjzeqam

cbjzeqam2#

您可以使用*beaninfo类机制。例如。有了类hist,就可以用“sum”属性编写histbeaninfo。尽管这些类是为gui建设者设计的,在选项板上有列出异种基因属性的组件,但是人们可以独立地使用它们。
可能会生成beaninfo类。
这仍然是一个遥远的方法来实际仪器的信息,也许使用反射。
beaninfo的另一种替代方法是使用自制的注解,但是有了beaninfo,您就有了一些ide支持的api。

tkqqtvp1

tkqqtvp13#

听起来像是 Map 你需要什么就做什么。你可以把直方图放在 Map 不管属性值是什么。

Map<String,Histogram> histograms = new HashMap<String,Histogram>();
histograms.put("PropertyValue1", histogram1);
histograms.put("PropertyValue2", histogram2);

String desiredHistogram = silderBox.getProperty("VALUE");
Histogram histogramToUse = histograms.get(desiredHistogram);
histogramToUse.getSum(); // do whatever you need to with this

你还需要检查空值之类的东西。

gtlvzcf8

gtlvzcf84#

将其存储在Map中:

yourHistogramsMap.get(sliderBox.getProperty("VALUE")).getSum();

当然,你必须先把你的直方图存储在那里。

相关问题