不同类型的一个字段的Javabeans约定?

不同类型的一个字段的Javabeans约定?,java,spring,polymorphism,javabeans,setter,Java,Spring,Polymorphism,Javabeans,Setter,我可以为两种不同的参数类型(即setSourceInputStream和setSourceTargetDataLine)使用一个具有两个版本的setSource setter吗 在内部,我将值保存在Object字段中,并基于RTTI分派处理,但我想知道像Spring这样的bean实时库是否会优雅地接受这样的setter?也就是说,我能否将不同类型的值放入一个源bean字段中?这似乎不太正确。getSource返回什么?一个物体?如果是这样,我建议您的setSource接受一个对象 显然,这看起来

我可以为两种不同的参数类型(即setSourceInputStream和setSourceTargetDataLine)使用一个具有两个版本的setSource setter吗


在内部,我将值保存在Object字段中,并基于RTTI分派处理,但我想知道像Spring这样的bean实时库是否会优雅地接受这样的setter?也就是说,我能否将不同类型的值放入一个源bean字段中?

这似乎不太正确。getSource返回什么?一个物体?如果是这样,我建议您的setSource接受一个对象

显然,这看起来太“通用”,我想知道这个问题是否表明您的建模是错误的,并且您需要两个专门的子类来处理不同的源类型


如果做不到这一点,为什么不显式地使用正确类型的setStreamSource/setTargetDataLineSource,并强制执行其中一个的设置,但不能同时执行这两个设置呢?不过,我仍然认为专业化是一条出路。

您尝试过吗?发生了什么事?我不告诉你,哦,伟大的大脑:是的,我想我绝对喜欢你,包括问题和可能的解决方案。但问题是如果。行吗?另外,糟糕的设计不是我的,而是Sun/Oracle的,因为他们做了类似的类型,但没有关系。如果呢?我怀疑,既然Javabeans是一种约定,它将依赖于实现,这也意味着bean思想会破坏多态性:那么问题是,如果在最新的spring实现中?