如何在javac中默认强制使用StringBuffer而不是StringBuilder?

发布于 2024-11-03 09:48:24 字数 497 浏览 4 评论 0原文

我尝试在 Linux 上使用 kvm 编译 CLDC,但出现错误

无法访问 java.lang.StringBuilder 类文件,因为找不到 java.lang.StringBuilder

无法访问声明中

return getClass().getName() + "@" + Integer.toHexString(hashCode());

:我认为这是因为它使用自己的 bootclasspath,其中包含 StringBuffer 但不包含 StringBuilder。现在,如何强制 javac 使用 StringBuffer 而不是默认的 StringBuilder

我的开发环境是: Ubuntu 10.04.2 LTS + javac 1.6.0_24 (sun-java6-jdk)

I am trying to compile the CLDC with kvm on linux, I get an error

cannot access java.lang.StringBuilder class file for java.lang.StringBuilder not found

at the statement:

return getClass().getName() + "@" + Integer.toHexString(hashCode());

I think that is because this uses its own bootclasspath which contains StringBuffer but not StringBuilder. Now, how do I force javac to use StringBuffer instead of default StringBuilder?

My dev environment is:
Ubuntu 10.04.2 LTS + javac 1.6.0_24 (sun-java6-jdk)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

二智少女猫性小仙女 2024-11-10 09:48:24

您可以尝试将源和对象级别设置为 1.3 或任何没有 StringBuilder 的最后一个版本。

You could try setting the source and object levels to 1.3 or whatever versin was the last one without StringBuilder.

痴情 2024-11-10 09:48:24

经过一番谷歌搜索后,我发现可以使用“-target”选项将目标 jsr 规范设置为 javac。为了解决我的问题,我必须返回 jsr14 来发出 StringBuffer 而不是 StringBuilder。

javac -target jsr14 *.java

有关此内容的更多信息: http:// twit88.com/blog/2008/08/26/java-understanding-jsr14/

After googling around a bit more, I found that one can set the target jsr specification with '-target' option to javac. To fix my problem , I had to go back to jsr14 to emit StringBuffer instead of StringBuilder.

javac -target jsr14 *.java

More about this here: http://twit88.com/blog/2008/08/26/java-understanding-jsr14/

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文