java.lang.ClassCastException : java. lang.String 无法在 tableau 中转换为 java.lang.Integer?

标签 java list tableau-api

     List<Object> rowData = new ArrayList<Object>();
     Resultset rs = selectFromRemoteTable(conn, sourceTableOrQuery);
    ResultSetMetaData rsmds = rs.getMetaData();
int columnCount =  rsmds.getColumnCount();
    while(rs.next()){
         for (int i = 1; i <= columnCount; i++) {
             colType = rsmds.getColumnTypeName(i);
             if(colType.equalsIgnoreCase("INT")){
                 rowData.add((Integer)rs.getInt(i));
                 continue;
             }
             if(colType.startsWith("varchar")){
                 rowData.add((String)rs.getString(i));
             continue;
     }
         }
    for (int i = 0; i < tableRows; i++) {
             Row row = new Row(tableDef);
             for (int j = 0; j < rowData.size(); j++) {
             if(colType.equalsIgnoreCase("INT")){
                 row.setInteger(j, (Integer) rowData.get(j));// getting class cast exception here
                     continue;
             }
             if(colType.startsWith("varchar")){

                     row.setCharString(j, (String) rowData.get(j));

           continue;
             }
             }
             //add the row to the table
           table.insert(row);
         }

出现异常:

Exception in thread "main" java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Integer at TableauData.main(TableauData.java:99)

如何解决这个问题?

最佳答案

您可以检查,如果 rowData.get(j) 是 Integer,则使用 Integer.parseInt(rowData.get(j)) 而不是 (整数)rowData.get(j)

关于java.lang.ClassCastException : java. lang.String 无法在 tableau 中转换为 java.lang.Integer?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45166184/

相关文章:

java - 如果使用 FileChannel 调用,transferFrom 和 transferTo 是否传输所有字节?

java - 输入无法按指定的 libgdx java 工作

python - 从列表中删除元素的最佳方法

data-visualization - 画面 : is there a clean way to print out an embedded visualization?

Java - 存储单个值和一条相应信息的最佳方式?

java - 在 Groovy 中模拟 HttpClient

java - 迭代对象列表并验证属性 (int) 是否相互跟随(例如 : (1, 2,3,4)、(3,4,5,6),但不是 (1,2,5) 或 (3,4,5 ,7))

c# - 将一个列表添加到另一个为空或不为空的列表

mysql - Tableau关系数据模型

date - 画面 : Aggregate and Non-aggregate error with Date calculations