bukkit在Java中如何从字符串中获取变量值?
所以我正在为Minecraft bukkit编写一个调试器插件,我想知道如何从字符串中获取公共静态变量值。下面是一些示例代码:
package example.package;
public class Ex {
public static String foo = "bar";
}
如果我给它一个字符串“example.package.Ex.foo”,它应该返回“bar”,我该怎么做
你可以在下面搜索框中键入要查询的问题!
所以我正在为Minecraft bukkit编写一个调试器插件,我想知道如何从字符串中获取公共静态变量值。下面是一些示例代码:
package example.package;
public class Ex {
public static String foo = "bar";
}
如果我给它一个字符串“example.package.Ex.foo”,它应该返回“bar”,我该怎么做
# 1 楼答案
使用java 11(反射API)您也可以在较旧的java版本中执行此操作
编辑 通用方法如下所示:
# 2 楼答案
example.package.Ex.foo
将返回bar
,如您所述。静态变量由类而不是实例拥有,因此该变量只存在一个副本,您不需要创建实例如果你想访问同一个类中的变量,只需根据变量的名称使用它。如果你想在另一个类中使用它,你可以使用多种方法
在上述所有示例中,
tempStr
的值将为"bar"
由于变量出口只有一个副本,因此如果变量在一个地方更改,则必须小心,否则会影响所有地方
如果想要一个常量,在声明变量时使用
final
关键字