Tom*_*ine 32
没有副本:
CharSequence seq = java.nio.CharBuffer.wrap(array);
Run Code Online (Sandbox Code Playgroud)
但是,该new String(array)方法可能更容易编写,更易于阅读和更快.
A String是一个CharSequence.所以你可以创建一个新的String给定的char[].
CharSequence seq = new String(arr);
Run Code Online (Sandbox Code Playgroud)
语境:
char[] 而不是 String 的最常见用法之一是“临时”存储机密/密码。将其传递给某些服务/客户端的初始化...此类初始化后不需要秘密。但是在java字符串中不可能从内存中清除它(手动或通过垃圾收集)......所以,基本上禁止在字符串中存储秘密。
推荐方式:将机密加载到 char[],将其传递给 init 进程,然后手动清除(设置 forEach char[i] = '0';)。在专业博客上阅读有关此问题的信息...
问题/答案:
注意:不幸的是,甚至必须检查第 3 方服务/客户端初始化源代码,碰巧他们将 char 数组转换为代码深处的字符串...)-:明智地选择您的依赖项。
| 归档时间: |
|
| 查看次数: |
29277 次 |
| 最近记录: |