gpt4 book ai didi

java - Java中如何获取参数的字符串值?

转载 作者:行者123 更新时间:2023-11-30 04:15:52 25 4
gpt4 key购买 nike

我正在尝试将参数保存为属性,参数是:testSpeed ( = "20"),并且我有一个方法:

saveProperty(String Parameter)

它将把参数的值保存到文件中,如下所示:

saveProperty(testSpeed);

我的属性文件如下所示:

testSpeed : 20
testHeight : 300

我的问题是:在Java中是否可以获取参数的名称,在本例中传递给saveProperty()的参数是testSpeed,它的名称是 "testSpeed",如何从 saveProperty() 内部获取此字符串,这样我就不必执行以下操作来保存它:

saveProperty(String Name,String Value);

并这样调用它:

saveProperty("testSpeed",testSpeed)

此外,当我需要从属性文件中取出它时,我可以调用:

getProperty(testSpeed)

我知道如何使用属性文件,我只是用它作为示例,也许当我提到属性文件时会引起一些困惑。

问题的本质是:如何获取传递给方法的参数名称。

void someMethod(String Parameter_XYZ)
{
// In here if I call someMethod(testSpeed), how to get the string "testSpeed",
// not it's value, but it's name,
// exactly spelled as "testSpeed" ?
}

这在 Java 中可行吗?

最佳答案

首先属性文件的正确格式是这样的:

testSpeed=20
testHeight=300

现在要从中提取任何属性,您需要传递键名称,您已经在 saveProperty(String name, String value) 方法中执行了此操作。但是,如果我正确理解您的问题,那么您希望避免传递属性名称。您可以有一些像这样的自定义方法:

void saveTestSpeed(String value) {
saveProperty("testSpeed", value);
}

Strig getTestSpeed() {
getProperty("testSpeed");
}

编辑:基于您编辑的问题。

不,这在 Java 中是不可能的。

请记住,Java 是严格按值传递的,这使得在被调用方无法确定实际变量名称。在 saveProperty 方法中,我们只能获取参数的值,因为在 Java 中,对象引用是按值传递的,而不是按名称传递的。

这也不实用,因为没有什么可以阻止方法被调用,例如:

savePropery( "20" );

在这种情况下,属性的名称应该是什么?

关于java - Java中如何获取参数的字符串值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18409837/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com