【发布时间】:2023-03-22 10:45:01
【问题描述】:
我试过搜索,但似乎没有人知道答案。
我使用 JTable 来列出一个包含人员的表格,并且我想放置一个 ImageIcon,因此从我所读到的内容中,我必须覆盖默认方法才能返回一个图标而不是字符串。
这是我用的:
public Class getColumnClass(int column)
{
return getValueAt(0, column).getClass();
}
但是 eclipse 用黄色强调了返回类型“Class”并给了我这个警告:
类型安全:getColumnClass(int) 的返回类型 Class 来自 type new JTable(){} 需要未经检查的转换以符合 Class 从类型 JTable
它唯一的建议就是压制它。我不确定我是否正确收到警告,有人可以尝试向我解释它的确切含义并帮助我找到一个不会抑制它的好解决方案吗?
【问题讨论】:
-
如果将返回类型改为
Class<?>会怎样? -
您永远不应该依赖列值来确定类类型。如果值为
null或者您没有行会发生什么?相反,您应该返回一个具体的类类型(即String.class、Date.class等)。每列应该只代表一个类类型