使用ar.toArray(new String[ar.size()])
Android Studio 3.2.1时会警告有关预先调整大小的数组并建议使用空数组:
将集合转换为数组有两种方式:使用预先确定大小的数组(如 c.toArray(new String[c.size()]))或使用空数组(如 c.toArray(new String[ 0]). 在较旧的 Java 版本中,建议使用预先设置大小的数组,因为创建适当大小的数组所必需的反射调用非常慢。但是,由于 OpenJDK 6 的更新较晚,此调用被内化,使得与预调整大小的版本相比,空数组版本相同,有时甚至更好。此外,传递预调整大小的数组对于并发或同步集合也是危险的,因为在 size 和 toArray 调用之间可能存在数据竞争,这可能会导致额外的如果集合在操作期间同时收缩,则数组末尾的空值。此检查允许遵循统一的样式:使用空数组(在现代 Java 中推荐)或使用预先确定大小的数组(在较旧的 Java 版本或非基于 HotSpot 的 JVM 中可能更快)。
它适用于 Android 还是仅适用于 java?
使用预先确定大小的数组(在较旧的 Java 版本或基于非 HotSpot 的 JVM 中可能更快)。
因为我认为 Android 不是 HotSpot 它的虚拟机是 Dalvik 现在它是 ART
RISEBY
慕码人2483693
HUWWW
相关分类