我只想输出电流而我写了
import java.util.*;
开头,
System.out.println(new Date());
在主要部分。
但我得到的是这样的:
Date@124bbbf
当我将导入更改为import java.util.Date;
时代码完美无缺,为什么?
====================================
问题是,好吧,我的源文件是“Date.java”,这就是原因。
嗯,这完全是我的错,我让所有人感到困惑; P
感谢下面的每个人。这真的很好你;)
答案 0 :(得分:12)
您可能在某处导入了其他“Date”类(或者您的包中有Date类,不需要导入)。使用“import java.util。*”,您正在使用“其他”日期。在这种情况下,最好在代码中明确指定java.util.Date。
或者更好的是,尽量避免将类命名为“Date”。
答案 1 :(得分:5)
toString()
的{{1}}实现不依赖于类的导入方式。它总是返回一个很好的格式化日期。
您看到的java.util.Date
来自另一个班级。
特定导入优先于通配符导入。
在这种情况下
toString()
指的是import other.Date
import java.util.*
new Date();
而不是other.Date
。
奇怪的是
java.util.Date
如果import other.*
import java.util.*
和other.Date
匹配,则应该给您一个编译错误,指出对Date的引用不明确。
答案 2 :(得分:4)
import java.util.*;
导入java.util中的所有内容,包括Date类。
import java.util.Date;
只需导入Date类。
做其中任何一个都没有任何区别。
答案 3 :(得分:2)
您的程序应与 import java.util。*; 或 import java.util.Date; 完全相同。你必须要做其他事情。
答案 4 :(得分:0)
but what I got is something like this: Date@124bbbf
while I change the import to: import java.util.Date;
the code works perfectly, why?
“完美运作”是什么意思?无论是否导入java.util。*或java.util.Date,打印Date对象的输出都是相同的。打印对象时获得的输出是对象类的toString()方法对象的表示。