Java对Vector.set()的调用导致“未选中”警告

阴75

我正在扩展javax.swing.table.DefaultTableModel,并添加了一个调用Vector.set(...)类变量的方法。它会产生unchecked警告,我想修复而不是抑制警告。由于这是不延长Vector,我不能用<E>它看来,我不知道有什么类型的一种方式Object将是Vector有什么建议吗?

方法:

/**
 * Replace a row in the dataVector.  Convenience method for 
 * getDataVector().set(index, element)
 * @param rowNum the index of the row to replace
 * @param replaceRow the element to be stored at the specified position
 * @return the element previously at the specified position
 * @throws ArrayIndexOutOfBoundsException if the index is out of range
 */
public Vector setRow(int rowNum, Vector replaceRow) {
  return (Vector)dataVector.set(rowNum, replaceRow);
}

结果是:

warning: [unchecked] unchecked call to set(int,E) as a member of the raw type Vector
return (Vector)dataVector.set(rowNum, replaceRow);
                             ^
where E is a type-variable:
E extends Object declared in class Vector
1 warning
毛泽尔

抱歉,我没有意识到DefaultTableModel使用的是未参数化的原始类型dataVector我认为在这种情况下,您真正​​能做的就是@SuppressWarnings("unchecked")为该函数添加注释(这将使编译器停止抱怨),对其进行彻底的Javadoc处理,然后将其命名为:

/* DOCUMENT THIS THOROUGHLY */
@SuppressWarnings("unchecked")
public Vector setRow(final int rowNum, final Vector replaceRow) {
    return (Vector)dataVector.set(rowNum, replaceRow);
}

旧答案:

根据您的代码,看起来您真正想要做的是:

Vector<Vector<Object>> dataVector = new Vector<Vector<Object>>();

public Vector<Object> setRow(final int rowNum, final Vector<Object> replaceRow) {
    return dataVector.set(rowNum, replaceRow);
}

您的代码编写/设计方式似乎dataVector实际上是一个“向量的向量”,其中每个元素(向量)可以容纳任何种类的对象?在函数中以这种方式使用泛型,dataVector将消除未经检查的警告。

如果我误解了,请告诉我。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

警告未选中的对“ getposition(T)”的调用

来自分类Dev

错误未选中以原始类型'java.util.HashMap'的成员形式对'put(K,V)'的调用

来自分类常见问题

Java:解决未选中的呼叫

来自分类Dev

未调用函数中的Clojure(让[frame(java.awt.Frame。)])导致AWT启动

来自分类Dev

注意:Anpr.java使用未经检查或不安全的操作。注意:在JComboBox中使用-Xlint:unchecked进行详细信息警告未选中

来自分类Dev

Java防止未使用的警告

来自分类Dev

Android Studio针对以下代码显示未选中的警告调用

来自分类Dev

Java-未调用DocumentListener

来自分类Dev

为什么我的代码仍然显示警告:`警告:[未选中]未选中强制转换?

来自分类Dev

摆动未编写的字段警告(Java)

来自分类Dev

java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法'boolean java.util.Vector.add(java.lang.Object)'

来自分类Dev

未选中的Click上的Checkbox的Java脚本确认

来自分类Dev

Java-调用方法会导致IllegalAccessError

来自分类Dev

从 Java 调用 AllJoyn 属性会导致 AnnotationBusException

来自分类Dev

未选中的对原始类型成员的调用

来自分类Dev

避免由于证书错误而导致Java的安全警告

来自分类Dev

对类的set方法的调用导致“未捕获的TypeError:session.issue不是函数”

来自分类Dev

Java使用Vector类-矩阵

来自分类Dev

在Java中等于vector <T>

来自分类Dev

Java JPanel paintComponent(Graphics g)未调用

来自分类Dev

内部调用的Java程序未读取PipedInputStream

来自分类Dev

未选中投了java.io.Serializable到的java.util.ArrayList

来自分类Dev

Java通用方法警告“未检查的强制转换”

来自分类Dev

从本地pthread调用Java方法时未调用

来自分类Dev

在std :: vector上调用delete

来自分类Dev

如何在Vector Java Vector中查找(打印)指定字段

来自分类Dev

从JNI调用Java方法会导致程序崩溃

来自分类Dev

Python调用Java导致错误:无法找到或加载主类

来自分类Dev

supper() 关键字调用Java Constructer 导致冲突结果

Related 相关文章

  1. 1

    警告未选中的对“ getposition(T)”的调用

  2. 2

    错误未选中以原始类型'java.util.HashMap'的成员形式对'put(K,V)'的调用

  3. 3

    Java:解决未选中的呼叫

  4. 4

    未调用函数中的Clojure(让[frame(java.awt.Frame。)])导致AWT启动

  5. 5

    注意:Anpr.java使用未经检查或不安全的操作。注意:在JComboBox中使用-Xlint:unchecked进行详细信息警告未选中

  6. 6

    Java防止未使用的警告

  7. 7

    Android Studio针对以下代码显示未选中的警告调用

  8. 8

    Java-未调用DocumentListener

  9. 9

    为什么我的代码仍然显示警告:`警告:[未选中]未选中强制转换?

  10. 10

    摆动未编写的字段警告(Java)

  11. 11

    java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法'boolean java.util.Vector.add(java.lang.Object)'

  12. 12

    未选中的Click上的Checkbox的Java脚本确认

  13. 13

    Java-调用方法会导致IllegalAccessError

  14. 14

    从 Java 调用 AllJoyn 属性会导致 AnnotationBusException

  15. 15

    未选中的对原始类型成员的调用

  16. 16

    避免由于证书错误而导致Java的安全警告

  17. 17

    对类的set方法的调用导致“未捕获的TypeError:session.issue不是函数”

  18. 18

    Java使用Vector类-矩阵

  19. 19

    在Java中等于vector <T>

  20. 20

    Java JPanel paintComponent(Graphics g)未调用

  21. 21

    内部调用的Java程序未读取PipedInputStream

  22. 22

    未选中投了java.io.Serializable到的java.util.ArrayList

  23. 23

    Java通用方法警告“未检查的强制转换”

  24. 24

    从本地pthread调用Java方法时未调用

  25. 25

    在std :: vector上调用delete

  26. 26

    如何在Vector Java Vector中查找(打印)指定字段

  27. 27

    从JNI调用Java方法会导致程序崩溃

  28. 28

    Python调用Java导致错误:无法找到或加载主类

  29. 29

    supper() 关键字调用Java Constructer 导致冲突结果

热门标签

归档