Java-创建一个函数来创建一个名为=我们输入的字符串的变量?
如何创建函数: 当我输入一个字符串“abc”时,这个函数会创建一个同名变量,如下所示:Java-创建一个函数来创建一个名为=我们输入的字符串的变量?,java,Java,如何创建函数: 当我输入一个字符串“abc”时,这个函数会创建一个同名变量,如下所示:int abc=10 void func("abc"){ .......... } //I will have: int abc =10; 我做不到,有人帮帮我吗?这是可能的,但非常棘手。我不认为你真的需要你所描述的。您真正需要的是返回int值的方法(请不要是函数!),即 int func(String str) { return str.length(); } 现在您可以使用此方法: int i =
int abc=10
void func("abc"){
..........
}
//I will have: int abc =10;
我做不到,有人帮帮我吗?这是可能的,但非常棘手。我不认为你真的需要你所描述的。您真正需要的是返回int值的方法(请不要是函数!),即
int func(String str) {
return str.length();
}
现在您可以使用此方法:
int i = func("abc");
此方法将返回3
如果您确实想在方法中创建in变量,以便在方法之外可以访问该变量,那么可以使用JDI(Java调试接口)。您可以连接到运行应用程序的JVM并执行几乎任何操作。但是,我认为这并不是您真正需要的。您不能在Java中以这种动态方式创建变量。但是您可以使用
映射
,它允许您支持所需的内容。试试这个:
public class DynamicVariableUtil {
private Map<String, Object> map = new HashMap<String, Object>();
public void setVariable(String name, Object value) {
map.put(name, value);
}
public Object getValue(String name) {
return map.get(name);
}
...
}
dynamicVariableUtil.createVariable("abc", 10);
...
dynamicVariableUtil.getValue("abc");
公共类DynamicVariableUtil{
私有映射映射=新的HashMap();
public void setVariable(字符串名称、对象值){
map.put(名称、值);
}
公共对象getValue(字符串名称){
返回map.get(name);
}
...
}
dynamicVariableUtil.createVariable(“abc”,10);
...
dynamicVariableUtil.getValue(“abc”);
这在Java中是不可能的,因为在PHP中不能有变量/动态变量名。为什么不将名称-值对存储在映射中呢?为什么需要这样做,而不是只使用适合任何输入的变量名,或者如果绝对需要将某个值与该字符串关联,则使用映射?@delnan可能需要完成一些作业:您认为java中的指针如何?java没有C意义上的“指针”。根据您所描述的,您需要使用映射。哦,我有一个与字符串同名的变量。