在LongBinding
类中,方法entryToLong(DatabaseEntry entry)
和longToEntry(long val, DatabaseEntry entry)
都是静态的。
但是在ByteArrayBinding
类中,entryToObject(DatabaseEntry entry)
和objectToEntry(byte[] object, DatabaseEntry entry)
都不是静态的.
这些方法的实现看起来非常相似。例如,检查源代码后,可以看到 longToEntry
和 objectToEntry
方法都委托(delegate)给了 entry.setData
,其中 entry
是类型为 DatabaseEntry
的方法参数。
为什么这两个 LongBinding
方法是静态的,而类似的 ByteArrayBinding
方法不是?
在我的 pom.xml 中,我有以下依赖项:
<dependency>
<groupId>com.sleepycat</groupId>
<artifactId>je</artifactId>
<version>4.1.21</version>
</dependency>
最佳答案
没有真正的解释。
ByteArrayBinding
中的方法可以(并且应该?)是static
,因为它们没有引用类的实例。
这两个类可能是由不同的开发人员编写的,它们实现的功能也略有不同。
关于java - BDB LongBinding 与 ByteArrayBinding 静态方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22606709/