如何从具有 int 和 double 值的 ArrayList 中找到最大值?

How to find the maximum value from a ArrayList which has both int and double values?

我试过这个我做错了什么或者我应该怎么做 do.I 我是一名 CS 初学者,正在尝试解决这个问题。我得到的错误是这里的图像格式:Error i get when i try to runprogram

import java.util.*;
public class maximum
{
       public static void main(String[]args)
       {
       //Creates new array list
       ArrayList list = new ArrayList();
       
       //Adds the numbers in the ArrayList
       Collections.addAll(list,5,2,-8,9,5.5,7,0);
       
       //Stores the highest number in new arraylist
       ArrayList highestNumber = new ArrayList();
       highestNumber.add(Collections.max(list));
       
       // Prints highestNumber
       System.out.println(highestNumber);
       }
}

第一步:将列表类型更改为 Number,它是所有 java 的盒装数字基元的超类。

然后,通过比较Number#doubleValue():

找到最大值
ArrayList<Number> list = new ArrayList<>();
Collections.addAll(list, 5, 2, -8, 9, 5.5, 7, 0);
ArrayList<Number> highestNumber = new ArrayList<>();
highestNumber.add(Collections.max(list, Comparator.comparing(Number::doubleValue)));

因为所有 int 都可以安全地转换为 Double,所以这段代码可以完全安全地混合使用双精度数和整数。