我来自C#领域,并且刚刚了解Java中的erasure,这让我有点失望。真的没有办法在Java中区分SomeGenericInstance<String>
和SomeGenericInstance<Integer>
运行时吗?
我问是因为我已经实现了一个超级简单的pub-sub框架,并且我想拥有一个通用类GenericMessage<T>
。一定不要将GenericMessage<String>
发送给GenericMessage<Integer>
的侦听器。我尝试通过具有一个键-值对列表来实现它,其中键是代表消息类型的Class
对象。但是此代码行产生true
这是一个问题...:new GenericMessage<Integer>().getClass.equals(new GenericMessage<String>().getClass())
最佳答案
据我所知,很抱歉,这根本不可能。