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

时间:2014-03-11 16:33:40

标签: java string variables converter

我正在基于Java的平台中构建一个名为KMax的DAQ。该平台具有使用直方图等对象的设计界面。每个直方图都有一个名称,该名称在设计界面上声明。

要在您必须使用的代码中调用直方图

hist = tlsh.getKmaxHist("DATA");

字符串DATA是用户在设计界面中提供的名称,hist是引用该对象的变量。每个直方图对象都有一些可以使用的类。例如,hist.getSum()给出直方图的总和。

在我的DAQ中,我有很多直方图。我的计划是创建一个滑块框,它将选择直方图,用户想要应用某些功能(例如getSum())。滑块框有一个类(string getProperty("VALUE")),它返回用户选择的值。

计划是使用像sliderBox.getProperty("VALUE").getSum()这样的东西。当然这样的事情是无效的,因此我想知道是否有办法转换" getProperty()返回的字符串,已成为代码中已定义的变量。

4 个答案:

答案 0 :(得分:4)

听起来像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

您还想检查空值和所有内容。

答案 1 :(得分:0)

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

答案 2 :(得分:0)

将其存储在地图中:

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

当然,您必须先将直方图存储在那里。

答案 3 :(得分:0)

您可以使用*BeanInfo class机制。对于instance。有一个Hist类,可以用&#34; sum&#34;写一个HistBeanInfo。属性。虽然这些类适用于GUI构建器,其中调色板上的组件列出了异构属性,但可以使用它们。

可能会生成BeanInfo类。

这仍然是实际检测信息的一种方法,可能使用反射。

BeanInfo的替代方法是使用home-brew注释,但是使用BeanInfo,您可以使用某些IDE支持的API。