我只是想输出电流和我写的
import java.util.*;
在开始,
System.out.println(new Date());
在主要部分。
但我得到的是这样的:
Date@124bbbf
当我改变了进口到import java.util.Date;
代码工作完美,为什么呢?
====================================
问题是,OK,我的源文件是“Date.java”,这就是原因。
嗯,这是我的错,我周围的每个人都感到困惑,P
并感谢大家在下面。 这是你非常好的;)
你可能有一些其他的“日期”类地方导入(或你有你包,它并不需要进口一个Date类)。 随着“进口的java.util。*”您使用的是“其他”日期。 在这种情况下,最好在代码中明确指定java.util.Date。
或者更好,尽量避免命名你的类“日期”。
的toString()
实现java.util.Date
并不依赖于类是进口的方式。 它总是返回一个很好的格式化的日期。
的toString()
你看到来自另一个类。
具体进口有超过通配符进口的优先级。
在这种情况下
import other.Date
import java.util.*
new Date();
是指other.Date
而不是java.util.Date
。
奇怪的是,
import other.*
import java.util.*
如果给你一个编译器错误,指出参考日期是模糊的,因为这两个other.Date
和java.util.Date
匹配。
import java.util.*;
进口的java.util中的一切,包括Date类。
import java.util.Date;
只是进口Date类。
做任何这些不能作出任何区别。
你的程序应该工作,无论是进口java.util中的一模一样*。 或进口java.util.Date; 。 必须有别的东西,你做之间英寸
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。 您在打印对象时得到的输出是由相应的类的toString()方法的对象的表示。
文章来源: What's the difference between import java.util.*; and import java.util.Date; ?