我正在尝试从int转换为List Integer以便应用stream方法对它们进行排序,但是它声明没有合适的方法。有可能这样做吗?
public class Testsorting
{
public static int [] prize = {5,2,3,7,1,5,9,0,2};
public static void main(String [] args)
{
List<Integer> list = Arrays.stream(prize).
boxed().collect(Collectors.toList());
System.out.println(list);
List <Integer> sortedList = Arrays.stream(list) //error occured on this line
.sorted()
.collect(Collectors.toList());
}
}
答案 0 :(得分:3)
将Arrays.stream(list)
更改为list.stream()
public class Main {
public static int [] prize = {5,2,3,7,1,5,9,0,2};
public static void main(String [] args)
{
List<Integer> list = Arrays.stream(prize).
boxed().collect(Collectors.toList());
System.out.println(list);
List <Integer> sortedList = list.stream() //error gone on this line
.sorted()
.collect(Collectors.toList());
System.out.println(sortedList);
}
}
答案 1 :(得分:2)
只需在下面执行此操作即可。
Arrays.stream(prize).sorted().boxed().collect(Collectors.toList());
或
Arrays.stream(prize).boxed().sorted().collect(Collectors.toList());
.stream
转换为支持IntStream
方法ootb的.sorted
,但您无法将IntStream
直接收集到Collectors.toList()
这样的列表中,因为Stream
支持.boxed
因此,我们可以使用IntStream
方法将Stream
转换为Collectors.toList
,然后您可以直接使用快捷方式boxed
。
如果你不想通过明确调用Arrays.stream(prize).sorted().collect(ArrayList::new,ArrayList::add,ArrayList::addAll);
从IntStream转换为Stream,你可以直接使用
$.get("https://play.google.com/store/apps/details?id=--bundleID--", function(data){
htmlContentsArray=$('<div/>').html(data).contents();
htmlContents=htmlContentsArray['prevObject']['0']['childNodes']['141'].outerText;
if(htmlContents == ''){
htmlContents=htmlContentsArray['prevObject']['0']['childNodes']['144'].outerText;
}
latest_version_array=htmlContents.split('Current Version');
var latest_version_string=latest_version_array['1'];
var latest_version=latest_version_string.substr(0,5);
});
它也会给出相同的结果。