如何解决将LocalDateTime对象转换为LocalDateTime
我是Java的新手,我正在研究Java 8。
我正在尝试将LocalDateTime对象转换为LocalDateTime,但无法找到任何方法,除非将其转换为String。当基础对象类型为LocalDateTime时,是否有任何直接方法可以将Object转换为LocalDateTime?
此外,如果有任何转换方法,它也可以用于基础的字符串类型LocalDateTime对象吗?
下面是我当前的代码,它将对象转换为字符串,然后再将其转换为LocalDateTime,因为LocalDateTime.parse方法需要输入字符串。
public static LocalDateTime toDateTime(Object dateTimeObject) {
LocalDateTime dateTime = LocalDateTime.parse(dateTimeObject.toString(),DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss"));
return dateTime;
}
解决方法
如果对象是LocalDateTime
,则可以投射对象。
public static LocalDateTime toDateTime(Object dateTimeObject) {
if (dateTimeObject instanceof LocalDateTime) {
return (LocalDateTime) dateTimeObject;
}
return null;
}
,
根据Java 8 LocalDateTime API,没有任何方法可以接受Object参数并返回LocalDateTime。但是有一个采用CharSequence参数,这就是为什么在将对象转换为String时它可以工作的原因,以及如果仅传递Object参数就不能工作的原因。如果您不想调用toString()方法,则也许toDateTime(Object o)的参数应该是其他类型。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。