在这些包组中有相同的java和IMPL类,只有包名不同。
我应该在代码中使用哪一个?按照java约定,我更喜欢非com.sun.*,但我的依赖项(例如Spring )仍然在使用com.sun的实现。*否则我无法在javax.xml中找到实现包。
有人在这方面有经验吗?
发布于 2010-06-16 04:48:41
使用javax.xml包-- com.sun包不是公共Java的一部分,可能在不同版本之间发生变化,或者如果您使用Sun的Java实现以外的其他人,它们甚至都不存在。
请参阅:为什么开发人员不应该编写调用“sun”包的程序
我不知道您到底想做什么,但是您通常不需要直接处理实现包。通常有工厂类和方法来获取例如XML解析器的实例,并且您的程序不需要知道幕后使用的是什么实现。例如,要获得SAX解析器,您可以这样做:
import javax.xml.parsers.*;
SAXParserFactory factory = SAXParserFactory.newInstance();
SAXParser parser = factory.newSAXParser();https://stackoverflow.com/questions/3050119
复制相似问题