如果我问了一个愚蠢的问题,我深表歉意。我有一个方法,它接受一个对象,将其转换为 map 并返回 map 对象。它不访问声明它的类的任何实例变量。
logger 又是一个静态字段。
public Map<String, Object> createDocumentMap(final DocId docId) {
logger.debug("Creating document map...");
Map<String, Object> documentMap = new HashMap<String, Object>();
documentMap.put("docNumber", docId.getDocNo());
documentMap.put("docRev", docId.getDocRev());
logger.debug("Document map ready. " + documentMap);
return documentMap;
}
尽管阅读了很多关于静态方法与非静态方法的帖子,但我不知道是否将其声明为静态。
最佳答案
这取决于您将如何使用此方法。如果你只在一个实例中使用它,它应该保留实例方法。 由于此方法不依赖于任何实例变量,您可以将其更改为静态的。如果您将从其他对象使用此方法,请执行此操作。在这种情况下,您还可以考虑将此方法移至某个实用程序类。
关于java - 我可以制作一个采用实例并将 map 对象返回为静态的方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20400639/