我有实现接口SampleClass
的类ISampleInterface
。
方法需要Collection<ISampleInterface>
作为参数,但是在我的代码中我想传递单个SampleClass
对象。
我试图进行一些铸造:
Collection<ISampleInterface> col =
(Collection<ISampleInterface>) Arrays.asList(new SampleClass[]{sampleClassInstance});
但是我出现了转换错误:
Cannot cast from List<SampleClass> to Collection<ISampleInterface>
有什么想法如何在一条优雅的路线上做到吗?
最佳答案
尝试在asList()
调用中创建正确的数组类型:
Collection<ISampleInterface> col =
(Collection<ISampleInterface>) Arrays.asList(
new ISampleInterface[] { sampleClassInstance });
再说一次,“优雅”船驶过了IMO ...
我也不认为您需要显式转换为
(Collection<ISampleInterface>)
。所以你应该成为Collection<ISampleInterface> col = Arrays.asList(
new ISampleInterface[] { sampleClassInstance });
那里比较优雅