「java获取变量名」js获取变量名
本篇文章给大家谈谈java获取变量名,以及js获取变量名对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
java中怎样获取变量名?(主函数中定义的);
对于局部变量是不可能的,因为变量名不是程序运行的必要部分,变量名在编译的时候就去除了。
对于成员变量,可以参见[1],使用Fields.getName() 获取
在编译Java的时候加上-g选项可以保留变量名,但这只用于调试。关键看你怎么用这个“变量名”了.如果你的情况和[2]一样,不妨编程的时候换个思路。
[1]
[2]
如何在Java中获取环境变量的值
1、用System.getenv();获取当前系统环境的变量名,如下:
publicclass Test {
publicstaticvoid main(String[] args) {
MapString, String map = System.getenv();
for(IteratorString itr = map.ketSet().iterator();itr.hasNext();){
String key = itr.next();
System.out.println(key + "=" + map.get(key));
}
}
}
系统环境变量名如下:
01.USERPROFILE :用户目录
02.USERDNSDOMAIN :用户域
03.PATHEXT :可执行后缀
04.JAVA_HOME :Java安装目录
05.TEMP :用户临时文件目录
06.SystemDrive :系统盘符
07.ProgramFiles :默认程序目录
08.USERDOMAIN :帐户的域的名称
09.ALLUSERSPROFILE :用户公共目录
10.SESSIONNAME :Session名称
11.TMP :临时目录
12.Path :path环境变量
13.CLASSPATH :classpath环境变量
14.PROCESSOR_ARCHITECTURE :处理器体系结构
15.OS :操作系统类型
16.PROCESSOR_LEVEL :处理级别
17.COMPUTERNAME :计算机名
18.Windir :系统安装目录
19.SystemRoot :系统启动目录
20.USERNAME :用户名
21.ComSpec :命令行解释器可执行程序的准确路径
22.APPDATA :应用程序数据目录
2、用System.getProperties(); 获取当前的系统属性,如下:
publicclass Test {
publicstaticvoid main(String[] args) {
Properties props = System.getProperties();
props.list(System.out);
}
}
系统属性名如下:
01.java.version Java :运行时环境版本
02.java.vendor Java :运行时环境供应商
03.java.vendor.url :Java供应商的 URL
04.java.home :Java安装目录
05.java.vm.specification.version: Java虚拟机规范版本
06.java.vm.specification.vendor :Java虚拟机规范供应商
07.java.vm.specification.name :Java虚拟机规范名称
08.java.vm.version :Java虚拟机实现版本
09.java.vm.vendor :Java虚拟机实现供应商
10.java.vm.name :Java虚拟机实现名称
11.java.specification.version :Java运行时环境规范版本
12.java.specification.vendor :Java运行时环境规范供应商
13.java.specification.name :Java运行时环境规范名称
14.java.class.version :Java类格式版本号
15.java.class.path :Java类路径
16.java.library.path :加载库时搜索的路径列表
17.java.io.tmpdir :默认的临时文件路径
18.java.compiler :要使用的 JIT编译器的名称
19.java.ext.dirs :一个或多个扩展目录的路径
20.os.name :操作系统的名称
21.os.arch :操作系统的架构
22.os.version :操作系统的版本
23.file.separator :文件分隔符
24.path.separator :路径分隔符
25.line.separator :行分隔符
26.user.name :用户的账户名称
27.user.home :用户的主目录
28.user.dir :用户的当前工作目录
java 怎么获得变量名(不用反射机制)
这个估计用反射也做不到…
int
name,然后getName(name)是将name的值传给了getName函数,没有传引用。
可以反查,getName(5)又name=5,所以得到“name”;但是如果int
name=5;
int
version=5;那么getName(5)就不唯一了。
所以你的设想实现不了。
有一种实现机制是:
name作为属性有getter和setter,在getter中触发事件广播送出变量名称,这样外界就可以得到这个名字。
目前Java还不支持这种机制:
int
name
{
getter:
function()
{
broadcast
("name");
return
value;}
setter:
function(newval)
{value
=
newval;}
};
要想实现,需要改造
虚拟机
,用JNI写Native方法实现,或者用Java写模拟器模拟也可以。
关于java获取变量名和js获取变量名的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。