返回

java-将集合转换为int[]数组

发布时间:2022-06-16 03:56:06 387
# php

有两个现有方法名为getDetails(...). 一个需要至少一个必需参数,另一个需要一个集合(不验证集合的内容/大小)。

问题是集合有时被传递为空,根据我的业务案例,我总是希望至少传递一个值。所以,我需要用这个方法private,它接受集合。

// There are two params, to make sure that at-least one is passed by the caller

public static CustomerContext getDetails(int id, int... ids) { 
   Collection idCollection = Instream.of(ids).boxed().collect(Collectors.toSet());
   if(!idCollection.contains(id)){
       idCollection.add(id);
   }
   return getDetails(idCollection);
}

我计划将以下方法应用于private这样调用者就不会用零属性调用此方法。

public static CustomerContext getDetails(Collection idCollection) {
    return getDetails(idCollection,false);
}

调用方方法之一是将集合对象传递给getDetails如下图所示,

CustomerContext.getDetails(id.getDetails().values());

id.getDetails()如下所示,

public Map<Id,Integer> getDetails(){
    return Collections.unmodifiableMap(details);
}

id.getDetails().values()进入int[]用于传递给getDetails(int id,int... ids)而不是打电话getDetails(Collection idCollection).

我可以把这个收藏Integer[]如下所示,

(Integer[])id.getDetails().values().toArray()

我没有找到将 Collection 转换为int[].

任何建议都会有很大帮助。

我已经提到了一些现有的问题,但没有成功解决我的问题:

将集合转换为 int 数组

将 java.util.Collections 转换为整数数组

特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报
评论区(2)
按点赞数排序
用户头像