gpt4 book ai didi

Javassist ClassPool 类的 get 方法针对 java.lang.String 抛出 NotFoundException

转载 作者:行者123 更新时间:2023-12-01 08:59:20 25 4
gpt4 key购买 nike

我正在 Android 中使用 JavaAssist 来创建动态类以达到某种目的。 ClassPool get() 方法在尝试获取 java.lang.String 时抛出 NotFoundException

它在 JUnit 测试中运行良好。但如果我在设备中运行相同的内容,它会抛出异常。

这是我正在尝试的代码 fragment 。

ClassPool classPool = ClassPool.getDefault();
CtClass ctClass=classPool.get("java.lang.String");

第二行抛出异常。

请帮忙。

最佳答案

尝试将字符串“java.lang.String”更改为“Ljava.lang.String”或“Ljava.lang.String;”它应该有效。

由于您正在加载嵌入到 Java 中的类,因此您的机器可能无法识别字符串的标准名称,但需要 JVM 内部使用的名称来识别此特定对象。

要了解有关“L”主题的更多信息,我建议您阅读 JVM specs特别关注 chapter 4.3而且也很容易理解,只需阅读这篇文章 question 就可以了。它讨论了数组,但也包含了这个符号。

关于Javassist ClassPool 类的 get 方法针对 java.lang.String 抛出 NotFoundException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41805663/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com