gpt4 book ai didi

java - 来自单个对象的接口(interface)集合

转载 作者:行者123 更新时间:2023-11-30 07:17:16 25 4
gpt4 key购买 nike

我有课SampleClass实现接口(interface) ISampleInterface .
方法需要 Collection<ISampleInterface>作为参数,但在我的代码中我想传递单个 SampleClass对象。
我正在尝试进行一些类型转换:

Collection<ISampleInterface> col = 
(Collection<ISampleInterface>) Arrays.asList(new SampleClass[]{sampleClassInstance});

但是我遇到了转换错误:

Cannot cast from List<SampleClass> to Collection<ISampleInterface>

有什么想法可以用一条优雅的线来完成吗?

最佳答案

您只需要指定正确的泛型类型参数:

Collection<ISampleInterface> col =
Arrays.<ISampleInterface>asList(sampleClassInstance);

请注意 new SampleClass[] { ... } 是不必要的,因为 asList 采用 T... ( varargs ) 所以数组创建是隐式的。

更重要的是,你可以这样写:

Collection<ISampleInterface> col =
Collections.<ISampleInterface>singleton(sampleClassInstance);

来自Collections.singleton文档:

Returns an immutable set containing only the specified object. The returned set is serializable.

关于java - 来自单个对象的接口(interface)集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16315230/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com