Java如何反射String型的代码???

q13230965 2009-08-25 04:02:51
现在代码中有这样一段

String s = "System.out.println(\"Hello world\")";
//类似eval(s)?????????


问一下,如何执行这段String内容的代码??我听说groovy可以,还有ScriptEngineManager只能执行Script,Java的不行呀.
有没有什么好方法???又如"1 > 2",如何让他执行,并返回false(boolean)呢?
...全文
210 5 打赏 收藏 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
izard999 2009-08-25
  • 打赏
  • 举报
回复
面向对象是不会这么干的.. 会把要执行的代码封装在类的方法里
ouyangyh 2009-08-25
  • 打赏
  • 举报
回复
做应该是可以做到的
但做出来局限性应该很大
也有BUG
我想包括现在的Groovy,RUby应该都有BUG
healer_kx 2009-08-25
  • 打赏
  • 举报
回复
这不是反射,是动态语言的Features,Groovy可以,其实Java也可以了。
JDK6加入了动态语言的支持了,就是语法很烦琐,建议使用Groovy,XRuby,JRuby来完成这部分功能。
soulx 2009-08-25
  • 打赏
  • 举报
回复
[Quote=引用楼主 q13230965 的回复:]
现在代码中有这样一段
Java code
String s="System.out.println(\"Hello world\")";//类似eval(s)?????????

问一下,如何执行这段String内容的代码??我听说groovy可以,还有ScriptEngineManager只能执行Script,Java的不行呀.
有没有什么好方法???
[/Quote]

java中的反射(类似。net中的委托)好像不能完成这样的工作。

因为它们都是类型安全和面向对象的,这个功能好像是动态语言的特性吧。
ruisheng_412 2009-08-25
  • 打赏
  • 举报
回复
第一个在java里面冒失不行,第二个"1 > 2" booleam flag = (1>2):false:true;

62,620

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧