当前位置: 首页 > news >正文

Arrays.asList方法踩坑

Arrays.asList方法不会如期望地将基础类型的数组自动装箱并生成新的列表,如果想要将基础类型的数组自动装箱,可以考虑使用Guava包中提供的asList方法。如果确实需要创建只包含一个基础类型的数组为元素的列表,明确地使用Collections.singletonList方法来表达意图。List intArrayToInteger(int[] intArray) {

List <integer> List = Arrays.asList(intArray); // 编译错误,Arrays.asList方法返回值类型为List

return integerList;

}

List<Integer> intArrayToIntegerList2(int[] intArray) {
// 正确使用jdk自建的Arrays类
List<Integer> integerList = Arrays.stream(intArray).boxed().collect(Collectors.toList());
return integerList;
}

List<Integer> intArrayToIntegerList(int[] intArray) {
// 使用guava包中的com.google.common.primitives.Ints类
List<Integer> integerList = Ints.asList(intArray);
return integerList;
}

List<Integer> convertToIntArraySingleton(int[] intArray) {
// 如果确实需要创建只包含一个基础类型的数组为元素的列表,使用Collections.singletonList方法
List<int[]> intArraySingletonList = Collections.singletonList(intArray);
return intArraySingletonList;
}

尝试修改Arrays.asList方法返回的集合会抛出UnsupportedOperationException,这是由于Arrays.asList方法返回的集合是java.util.Arrays$ArrayList类,而非java.util.ArrayList类。

反例

void function(String[] strings) {

List<String> stringList = Arrays.asList(strings);

// 将会抛出UnsupportedOperationException

stringList.add("another string");

}

正例

void function(String[] strings) {
// 调用ArrayList的构建方法构建一个新的List
List<String> stringList = new ArrayList<>(Arrays.asList(strings));
stringList.add("another string");
}

http://www.jsqmd.com/news/407272/

相关文章:

  • ABB称重传感器PFTL101AER-1.0KN
  • 环球骑行
  • python-django基于人脸识别的智慧医疗预约挂号平台 医生排班
  • 2026年托福机构推荐榜单:新托福时代,谁是最强提分王者? - 速递信息
  • 2026年可靠的货架厂推荐,提供货架厂家直销源头工厂拆装服务 - 工业品牌热点
  • 五个女博士 2026 可信度解析:被国家认可吗|东西怎么样 - 速递信息
  • 2026大数据风口下,中专/大专生如何靠证书逆袭大厂?
  • 精准对接智推时代:官方沟通渠道与咨询入口全面整理 - 速递信息
  • python-django可视化人工智能知识科普平台 ai客服 人脸识别840p03tc
  • 智推时代官方服务:AI 优化与 GEO 优化合作咨询入口 - 速递信息
  • megatron_actor
  • 2026年大理短租民宿推荐:熹庭Villas如何解决家庭度假3大痛点 - 速递信息
  • 2026年植物提取物厂家TOP3推荐:三大苦参碱/花青素厂家优选指南! - 深度智识库
  • 2026 年雅思培训机构推荐榜单TOP10 | 多维度评估 - 速递信息
  • HoRain云--Windows文件名非法字符终极解决指南
  • vue 表格 vxe-table 如何实现拖拽单元格自动复制内容功能
  • 2026中小企业CRM选型攻略:超兔等主流品牌深度对比,精准适配需求 - 毛毛鱼的夏天
  • 智推时代优化服务:官方正规咨询方式与合作流程 - 速递信息
  • 如何使用 vue vxe-table 甘特图 vxe-gantt 渲染显示多行任务,预计完成日期和实际完成日期多条任务条,可以自定义任务条颜色,拖拽调整日期等
  • 2026年主流CRM系统大揭秘:选型要点、落地攻略与核心能力全解析 - 毛毛鱼的夏天
  • 豫味飘香 匠造珍馐——河南鑫味源之源调味品,解锁中国菜的五味密码 - 朴素的承诺
  • 多篇论文要降AI?批量处理选这两款工具最划算
  • 毛肚源头工厂选购指南:餐饮老板必看的5大核心标准 - 速递信息
  • 4款降AI工具引擎技术大揭秘:Pallas vs DeepHelix vs 双引擎 vs HumanRestore
  • 一万字论文降AI要花多少钱?各工具费用明细算给你看
  • 小微到中大型企业CRM选型:2026年9款产品四大场景对比 - 毛毛鱼的夏天
  • 2026学习计划 - daydayup-
  • 2026年评价高的旧楼加装电梯公司推荐:四川旧楼加装电梯厂家、成都别墅电梯厂家推荐、推荐别墅电梯厂家选择指南 - 优质品牌商家
  • 四川岗亭厂家怎么选?避坑指南+Top5红榜,看完这篇不踩雷! - 深度智识库
  • 2026年口碑好的天然气发电机/上柴发电机厂家推荐必看 - 行业平台推荐