Java从组合框中引用数据

Java从组合框中引用数据,java,string,jcombobox,Java,String,Jcombobox,嘿,你们在找人帮忙吗!我需要能够从列表中引用和隔离字符串,以便将它们转换为变量名 String[] planeTitles = new String[] {"Focke-Wulf Fw 190", "Messerschmitt Bf 109","Messerschmitt Me 262", "Supermarine MKs 24 Spitfire", "Yakovlev Yak-3", "Vought F4U Corsair", "

嘿,你们在找人帮忙吗!我需要能够从列表中引用和隔离字符串,以便将它们转换为变量名

String[] planeTitles = new String[] {"Focke-Wulf Fw 190", "Messerschmitt Bf 109","Messerschmitt Me 262", "Supermarine MKs 24 Spitfire",
                                "Yakovlev Yak-3", "Vought F4U Corsair", "Lockheed P-38 Lightning", "North American P-51 Mustang", "Mitsubishi A6M Zero"};


JComboBox<String> planeList = new JComboBox<>(planeTitles);


          add(planeList);

例如,当用户在框中选择“Focke Wulf Fw 190”并将其转换为相等值时,我需要能够从列表中隔离“Focke Wulf Fw 190”

double fw190; 
我并没有试图改变变量的名称,只是将字符串设置到一个点,在这个点上我可以为以后的数据比较分配一个值


感谢您的帮助

> P>您可以考虑创建一个枚举,每个元素都具有字符串表示(要在组合中使用)和一个数据比较值。
public enum PlaneEnum
{
  FOCKE_WULF_190("Focke-Wulf Fw 190", 190),
  MESSERSCHMITT_109("Messerschmitt Bf 109", 109),
  ....

  public String toString()
  {
    return (myDescr);
  }

  public double getValue()
  {
    return (myValue);
  }

  private PlaneEnum(String description,
                    double value)
  {
    myDescr = description;
    myValue = value;
  }

  private String myDescr;
  private double value;

} // enum PlaneEnum

JComboBox<PlaneEnum> = new JComboBox<PlaneEnum>(PlaneEnum.values);
公共枚举平面枚举
{
FOCKE_WULF_190(“FOCKE WULF Fw 190”,190),
MESSERSCHMITT_109(“MESSERSCHMITT Bf 109”,109),
....
公共字符串toString()
{
返回(myDescr);
}
公共双getValue()
{
返回值(myValue);
}
专用PlaneEnum(字符串描述,
双倍值)
{
myDescr=描述;
我的价值=价值;
}
私有字符串myDescr;
私人双重价值;
}//枚举平面枚举
JComboBox=新的JComboBox(PlaneEnum.values);

可能重复“虽然您可以在一些脚本语言(如PHP)中执行您正在尝试的操作(许多启动Java的PHP程序员经常会问这个问题),但这不是Java的工作方式,事实上,变量名的重要性远低于您可能意识到的,甚至在编译代码后几乎不存在。”谢谢你的回答,虽然我知道你在说什么,但这很难回答我的问题。我所做的可能吗?我不需要更改任何名称,只需要为字符串赋值,以便以后比较数据。我不认为有必要从字符串创建动态变量。但是你可以使用一个HashMap,其中的键是所选元素,值是一个双精度值。“例如,当用户在框中选择“Focke Wulf Fw 190”并将其转换为双精度值时,我需要能够将其从列表中分离出来。”如何?该字符串的哪个部分转换为双精度值?190号?你能不能给我演示一下,在我的情况下,我会怎么做?
public enum PlaneEnum
{
  FOCKE_WULF_190("Focke-Wulf Fw 190", 190),
  MESSERSCHMITT_109("Messerschmitt Bf 109", 109),
  ....

  public String toString()
  {
    return (myDescr);
  }

  public double getValue()
  {
    return (myValue);
  }

  private PlaneEnum(String description,
                    double value)
  {
    myDescr = description;
    myValue = value;
  }

  private String myDescr;
  private double value;

} // enum PlaneEnum

JComboBox<PlaneEnum> = new JComboBox<PlaneEnum>(PlaneEnum.values);