发帖    主题    评论    推荐    标签    作者    订阅    查搜    注册   登陆   关注
 
面向对象 设计模式 领域驱动设计 企业架构 框架 开发教程 微服务 大数据 扩展性 并发编程 事件驱动 分布式 SOA

另外一个类/变量动态访问的问题

2003-07-07 20:55
赞助商链接

问题:
程序的上下文中,存在一个变量a,那么怎么根据变量的名字a,去访问这个变量的内容。
问题的实质是类似与JavaScript中的eval函数的功能在Java中如何实现,或者说指针的指针该如何实现。

String name = "this is a test";
String b="name";

这时怎么通过b访问name.

2003-07-07 20:59

这个问题比较苦恼,在java中一直找不到替代的方案,连解决的思路都没有一个。
reflect可以得到一个类的定义的属性和方法,那一个类或者一个代码段中定义的变量该如何动态访问?

2003-07-08 00:02

变通的方法,要访问的变量可以用一个getB()的方法来访问
然后还是用reflect中的方法

2003-07-08 10:22

楼上的办法不行吧,例如在一个代码段中,如何定义这个getB()的方法,即使定义了,你如何把上下文相关的环境传递到你这个方法内部。

不知道,访问jvm的堆栈是否可行,照理,声明的每一个变量java都保存到栈里面去了。

2003-07-08 10:35

一个朋友曾经做过这样一个东西:从栈中得到类之间的互相调用关系,然后可以知道日志是从哪个类的中打印出来的。
那么这个问题,应该也可以用这个办法解决吧。变量的名字说到底是个地址空间的入口。
有哪位兄弟试过?

赞助商链接

赞助商链接

返回顶部

移动版 关于本站 使用帮助 联系管理员 最佳分辨率1366x768
OpenSource JIVEJDON Powered by JdonFramework Code © 2002-20 jdon.com