java – 为什么Thread类中的setName分配给一个字符数组?为什么
当我在
Java中处理线程概念时,我已经看到了Thread.java源文件.我注意到setName()方法将字符串分配给名为“name []”的字符数组. Java具有String数据类型的特性,那么它们为什么使用字符数组.
在源文件中,它初始化为, private char name[]; // why not "private String name;" 在setName()方法中, public final void setName(String name) { checkAccess(); this.name = name.toCharArray(); } 请帮我.提前致谢. 解决方法
此名称是从本机代码访问的,因此与使用Java类型的mangle相比,它更容易处理char数组. core-lib-devs邮件列表不久前讨论过这个问题,这是一个来自该主题的
link到一封邮件.最初的问题表明“相当多的时间进入Thread.setName调用,我认为其中很大一部分是进行新的char分配和复制char数组等”.引用答案:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |