java 静态方法的参数_java – 如何在jshell中表示一般多态静态方法的类型参数?...
发布日期:2022-02-03 15:25:01 浏览次数:7 分类:技术文章

本文共 1017 字,大约阅读时间需要 3 分钟。

的确,您的

link没有指定将您的方法作为静态方法的合成类的确切性质(如名称).

我试图让代码段正在执行的类

jshell> new Exception().printStackTrace()

java.lang.Exception

at REPL.$JShell$17.do_it$($JShell$17.java:8)

at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(java.base@9-ea/Native Method)

at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(java.base@9-ea/NativeMethodAccessorImpl.java:62)

at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(java.base@9-ea/DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(java.base@9-ea/Method.java:531)

at jdk.internal.jshell.remote.RemoteAgent.commandLoop(jdk.jshell@9-ea/RemoteAgent.java:124)

at jdk.internal.jshell.remote.RemoteAgent.main(jdk.jshell@9-ea/RemoteAgent.java:62)

jshell> Thread.currentThread().getStackTrace()[1].toString()

$15 ==> "do_it$(java:18)"

jshell> Thread.currentThread().getStackTrace()[1].getClassName()

$16 ==> ""

但是您可以看到,信息不是堆栈跟踪.

规避它的最简单的方法是将自己的方法定义为一个静态方法:

jshell> class B { static A id(A x) {return x;} }

这允许你打电话

jshell> String y = B.id("foo");

并得到所需的结果.

转载地址:https://blog.csdn.net/weixin_35600779/article/details/114575395 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:access 插入 java_Access java jdbc连接 insert插入的数据 中文乱码解决方案!!!
下一篇:在java中 分页的步骤_在javaweb中使用分页查询的详细步骤

发表评论

最新留言

关注你微信了!
[***.104.42.241]2024年04月23日 05时43分55秒