将通用参数视为“位”

时间:2011-04-19 12:03:10

标签: java generics hash byte

我想实现一个带有泛型并生成哈希的Hash函数。该函数将在位级工作,移动位和类似的东西。

我该怎么办?我想过使用一个字节数组,但是如何将泛型参数转换为字节数组呢?有更好的方法吗?

提前致谢

3 个答案:

答案 0 :(得分:1)

不,没有办法将任意对象视为Java中的字节数组。这种能力将在类型安全甚至代码安全的整个概念中削减一个巨大的整体,因为它将允许任意操纵对象甚至超出其类型的规范。

您可以使用序列化将有限的对象子集转换为字节流,但这些类必须支持(基本上通过实现Serializable)。

答案 1 :(得分:1)

为什么不在类中覆盖hashCode()(我假设我们正在讨论你创建的类),并在hashCode()中做任何你想做的事情。我不确定你打算把这个“哈希函数”放在哪里。一种实用方法?

答案 2 :(得分:0)

Java中的所有对象都有.hashCode()。你可以将它作为你的“位”来使用。