例如......
incomingTemplate = factory.newTemplates(new StreamSource(Utils.getResource(...
StreamSource对象是未引用的(有更好的术语吗?)因此无法调用它的近似方法来确保它的资源被清除。
这些对象与普通局部变量有什么不同?这是否受对象引用(incomingTemplate)是否为静态影响?
答案 0 :(得分:0)
此代码
StreamSource ss = new StreamSource(Utils.getResource());
incomingTemplate = factory.newTemplates(ss);
等于
incomingTemplate = factory.newTemplates(new StreamSource(Utils.getResource()));
唯一的区别是,如果您使用第二种变体,则无法再直接访问StreamSource。
但是如果incomingTemplate有getStreamSource方法,那么它真的没关系,如果你使用它:
StreamSource ss = new StreamSource(Utils.getResource());
incomingTemplate = factory.newTemplates(ss);
或者这个:
incomingTemplate = factory.newTemplates(new StreamSource(Utils.getResource()));
StreamSource ss = incomingTemplate.getStreamSource();