【问题标题】:Convert TreeMap to two arrays, cast problem将 TreeMap 转换为两个数组,转换问题
【发布时间】:2020-04-19 09:13:43
【问题描述】:

我需要将 TreeMap 转换为两个数组。我有铸造问题。它说Inconvertible types. Cannot cast java.lan.Double to float。代码:

ArrayList<Float> yData = new ArrayList<>();
        ArrayList<String> xData = new ArrayList<>();

            for (Map.Entry<String, Double> entry : map.entrySet()) {
                xData.add(entry.getKey()) ;
                yData.add(entry.getValue());  <---------- error
        }

我尝试先获取双精度值,然后再转换为浮点数,但我遇到了同样的问题:

ArrayList<Double> temp = new ArrayList<>();
        ArrayList<Float> yData = new ArrayList<>();
        ArrayList<String> xData = new ArrayList<>();


            for (Map.Entry<String, Double> entry : map.entrySet()) {
                xData.add(entry.getKey()) ;
                temp.add(entry.getValue());
        }

        for (int i = 0; i < temp.size(); i++) {
            yData.add((float) temp.get(i));    <---------- error
        }

我也使用了普通的数组,但是效果是一样的。

【问题讨论】:

    标签: java android arrays casting


    【解决方案1】:

    要转换Double,您应该使用floatValue()

    for (int i = 0; i < temp.size(); i++) {
        yData.add(temp.get(i).floatValue());
    }
    

    【讨论】:

      【解决方案2】:

      ` 你可以使用floatvalue方法

       for (int i = 0; i < temp.size(); i++) {
                  yData.add((temp.get(i).floatValue());   
              }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-12-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-02-22
        相关资源
        最近更新 更多