Java中字符字面量数组转字符对象数组是否有更优方法?
char[] 转 Character[] 的简洁实现方式
以下是几种比手动for循环更简洁的实现方法:
1. Java 8+ Stream API(无需额外依赖)
利用JDK自带的Stream API可以一行完成转换,代码更紧凑:
char[] charLiterals = "abcdefghijklmnopqrstuvwxyz".toCharArray(); Character[] charObjects = IntStream.range(0, charLiterals.length) .mapToObj(i -> charLiterals[i]) .toArray(Character[]::new);
也可以直接从字符串生成流,省去先转char[]的步骤:
Character[] charObjects = "abcdefghijklmnopqrstuvwxyz".chars() .mapToObj(c -> (char) c) .toArray(Character[]::new);
2. Apache Commons Lang 工具类
如果项目已经引入Apache Commons Lang库,直接用ArrayUtils的现成方法:
char[] charLiterals = "abcdefghijklmnopqrstuvwxyz".toCharArray(); Character[] charObjects = ArrayUtils.toObject(charLiterals);
3. Guava 库工具方法
Google Guava库也提供了便捷的转换工具:
char[] charLiterals = "abcdefghijklmnopqrstuvwxyz".toCharArray(); Character[] charObjects = Chars.toArray(Chars.asList(charLiterals));
内容的提问来源于stack exchange,提问作者sbottingota
相关产品推荐
相关产品推荐

