首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JShell:访问由代码段创建的对象

JShell:访问由代码段创建的对象
EN

Stack Overflow用户
提问于 2018-03-16 18:48:16
回答 1查看 160关注 0票数 2

我对一些事情很困惑,我希望能在这里获得一些见解。

假设我想要构建一个图形用户界面来可视化JShell内部发生的事情,例如,通过代码段创建的对象是如何相互引用的,以及通过代码段创建的对象是如何包含在我正在运行的JShell实例中的。我如何访问这些对象,最重要的是,我如何访问它们相互引用的方式?

一个具体的例子:我创建一个JShell实例,向它传递一些由用户创建的代码片段,例如,创建一个ArrayList,几个对象,并将所述对象添加到所述ArrayList中。

如何访问这个ArrayList和其中包含的对象,以便在图形用户界面中进行可视化?

进一步澄清:

代码语言:javascript
复制
//say I create a Jshell:  
JShell jShell = JShell.create();  
//Which then evauletes user code passed from the GUI:  
jShell.eval(userCode)  

//userCode could be following lines each passed as separate Strings:  
“ArrayList<TestObject> allObj = new ArrayList<TestObject>();”  
“TestObject tst = new TestObject();”  
“TestObject tst2 = new TestObject();”  
“allObj.add(tst);”  
“allObj.add(tst2);”  

如何访问allObj?

如何访问“tst”及其指向的对象?(“tst”指向的TestObject实例);

我知道eval()返回一个包含更改/添加的代码片段的SnippetEvents列表,但是,我不知道如何访问由这些代码片段创建的对象。

EN

回答 1

Stack Overflow用户

发布于 2018-05-23 18:43:47

假设您的类路径可以访问TestObj,您可以在该对象上实现Serializable。在eval完成后,运行另一个自动序列化输出的方法。然后,您可以在代码中反序列化该对象。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49318910

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档