java : Class cast exception

标签 java exception

我有一个包含字符串和 tupleList 的映射。 我正在尝试将 tupleList 放入双数组,但出现类型转换异常。 我的代码是——

Map<String, TupleList> results = null; -- Some data in it and TupleList has int or double value.

public void drawGraph(){

    Object[] test = new Object[results.size()];
    int index = 0;
    for (Entry<String, TupleList> mapEntry : results.entrySet()) {
        test[index] = mapEntry.getValue();
        index++;
    }


       BarChart chart = new BarChart();
        chart.setSampleCount(4);
        String[] values = new String[test.length];
        for(int i = 0; i < test.length; i++)
        {
            values[i] = (String) test[i];


        }
       //  double[] values = new double[] {32,32,65,65};
         String[] sampleLabels = new String[] {"deny\nstatus", "TCP\nrequest", "UPD\nrequest", "ICMP\nrequest"};
         String[] barLabels = new String[] {"STATUS", "TCP", "UDP", "PING"};

         //chart.setSampleValues(0, values);
         chart.setSampleColor(0, new Color(0xFFA000));
         chart.setRange(0, 88);
         chart.setFont("rangeLabelFont", new Font("Arial", Font.BOLD, 13));

错误----

java.lang.ClassCastException: somePackagename.datamodel.TupleList cannot be cast to java.lang.String
at com.ibm.biginsights.ExampleAPI.drawGraph(ExampleAPI.java:177)
at com.ibm.biginsights.ExampleAPI.main(ExampleAPI.java:95)

我遇到异常@

  String[] values = new String[test.length];
        for(int i = 0; i < test.length; i++)
        {
            values[i] = (String) test[i];

谢谢

最佳答案

我假设错误发生在这里:values[i] = (String) test[i];。问题是您正试图将 TupleList 类型的对象放入字符串中。您需要做的是调用 .toString() 方法,该方法应该为您提供对象的字符串表示形式。

但是请注意,您必须覆盖 TupleList 类中的 toString() 方法,以便您可以获得适合您需要的对象的字符串表示形式。

简而言之,只需执行 test[i].toString() 很可能会产生类似于以下内容的结果:TupleList@122545。你需要做的是:

public class TupleList
...

@Override
public String toString()
{
    return "...";
}

...

关于java : Class cast exception,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11896130/

相关文章:

java - java 中的单元测试调度程序作业

java - Java Set唯一对象标识

java - 如果前面没有 "+"则替换字符

java - 在 Java 中使用自定义异常

java - Java 与 Python 中的局部变量作用域

java - 使用jsoup获取url的异常调度输入事件

java - 当运行不应该运行的代码时,我应该抛出什么异常?

php - 事件驱动架构中的异常处理和状态控制

node.js - 这种 Node.js 异常处理方法的最佳实践?

python - 如何捕获尚未完全导入的模块的异常?