如何在Java中引用变量的元素而不是变量
好的,我正在尝试为程序中的任何JTextField创建一个快速的双重验证器。我想把它传递给一个函数,这个函数检查一个字段的内容,确保它是double,然后将它作为double返回给函数 这是我到目前为止所做的,但是theTF.getValue()应该获取字符串的值,而不是字符串本身如何在Java中引用变量的元素而不是变量,java,Java,好的,我正在尝试为程序中的任何JTextField创建一个快速的双重验证器。我想把它传递给一个函数,这个函数检查一个字段的内容,确保它是double,然后将它作为double返回给函数 这是我到目前为止所做的,但是theTF.getValue()应该获取字符串的值,而不是字符串本身 public double valDouble(String theTF) { double theDouble; try {
public double valDouble(String theTF)
{
double theDouble;
try
{
theDouble = theTF.getValue();
return theDouble;
}
}
如何对字符串的内容运行getValue()
编辑:
好吧,我有点搞砸了我的意思。我理解这一点,但我把它忘在了意外事件上,这就是我现在所拥有的:
public static double valDouble(String theTF)
{
double theDouble;
try
{
theDouble = Double.parseDouble(theTF);
}
catch(NumberFormatException e3)
{
theDouble = 0;
}
return theDouble;
}
我真正的问题是theTF代表一个文本字段的名称。我需要的是文本字段的值,而不是theTF中的值。我想把这个放在这里,也许是为了突出红色区域等等
回答(谢谢Hunter):
最好的方法是传递对象,但不确定我为什么要尝试解析字符串引用的值
public static double vDbl(JTextField theTF)
{
double theDouble;
try
{
theDouble = Double.parseDouble(theTF.getText());
}
catch(NumberFormatException e3)
{
theTF.setText("Invalid");
return 0;
}
return theDouble;
}
你真的应该把JTextField对象传递给你的方法来获取你想要的信息,我甚至不知道是否有可能仅仅从它的名字中获取JTextField对象;可能是反射,但对于这个应用程序,反射似乎过于复杂 例:
您可以使用双类来转换它
public Double valDouble(String theTF)
{
Double theDouble;
try
{
theDouble = Double.valueOf(theTF);
return theDouble;
}
}
抱歉,我漏掉了parseDouble,我在问如何获取JTextField对象的值,其中theTF发送的名称。为什么不直接将JTextField对象传递给该方法?@Hunter啊,是的,我不知道我在想什么!谢谢,把它作为答案,我接受。既然你可以通过JTextField,为什么不通过JTextField.getText()?您的双重验证程序没有理由访问TextField对象。
public Double valDouble(String theTF)
{
Double theDouble;
try
{
theDouble = Double.valueOf(theTF);
return theDouble;
}
}