带参数的静态方法必须实现Serializable

时间:2016-01-18 21:12:02

标签: java generics encryption serialization

我使用静态方法制作了Encryption类,如此......

public static SealedObject encrypt(Object toEncrypt)

我想静态使用encrypt方法作为辅助函数。问题是,在创建要返回的SealedObject时(在使用密码加密提供的Object之后),SealedObject需要提供的Object来实现Serializable。哪个Object本身没有实现。

由于encrypt方法需要Object,因此它不会实现Serializable,因此我无法创建从提供的SealedObject返回的Object }。

如何使用泛型来确保参数传递实现Serializable但仍然保持方法的静态特性?

该方法将用于许多不同类型

1 个答案:

答案 0 :(得分:1)

够容易。只需在方法上使用类型边界。

public <T extends Serializable> SealedObject encrypt(T object) throws IOException, IllegalBlockSizeException {
    return new SealedObject(object, null);
}