【问题标题】:convert object into date将对象转换为日期
【发布时间】:2017-05-10 21:53:56
【问题描述】:

我从数据库中获得了Object[] 中的ArrayList,我想将存储在对象中的java.sql.Date 转换为java.util.Date(以便在jfreechart 中使用它): 我的代码如下:

用来自 MySQL 的数据填充对象数组

 ArrayList<Object[]> mydata=new ArrayList<>(); 
 mydata=sqlGetter.getMdbObjectList(sqlString, null);


for(Object[] myobject : mydata){
        if (myobject[1].getClass()==java.sql.Date.class){
           java.util.Date mydate=null;
           mydate = Date ( myobject[1]);  
        } 
}

Netbeans 返回错误:“Java 不兼容的类型:对象无法转换为日期”

虽然我理解这个想法,但我希望能够在检查对象确实属于正确的类之后将其转换为 Date。

我正在启动 java,所以请对我必须做的明显错误提供任何帮助。

【问题讨论】:

  • 这不是正确的投射语法 - 搜索谷歌。另外我建议使用 instanceof 而不是检查特定的类(它可以是子类型,或者像时间戳这样的不同类型,它仍然继承自 util.Date)
  • 是的,现在我意识到我错过了括号。谢谢

标签: java object casting java.util.date


【解决方案1】:

你错过了一个演员表。此外,最好使用instanceof 运算符:

for(Object[] myobject : mydata){
    // Note that java.sql.Date extends java.util.Date
    if (myobject[1] instanceof java.util.Date) {
        java.util.Date mydate = (java.util.Date) myobject[1];
    }
}

【讨论】:

  • 非常感谢,我用了你的回答和实例。
  • 如果解决了您的问题,请接受作为答案
【解决方案2】:

您只需要将对象显式转换为 Date 例如:(日期)对象;

【讨论】:

    猜你喜欢
    • 2017-01-08
    • 1970-01-01
    • 1970-01-01
    • 2011-09-05
    • 2020-05-21
    • 2020-11-30
    • 1970-01-01
    • 2018-01-14
    相关资源
    最近更新 更多