有没有一种实用的方法可以在一行中实现这一点?我在CollectionsList里都找不到.

public List<String> stringToOneElementList(String s) {
    List<String> list = new ArrayList<String>();
    list.add(s);
    return list;
}

我不想重新发明轮子,除非我打算在它上面装上花哨的轮圈.

嗯...类型可以是T,但不能是String.但你明白我的意思了.(具有所有空值判断、安全判断等)

推荐答案

Fixed size List

据我所知,最简单的方法是创建一个固定大小的单元素List,比如Arrays.asList(T...)

// Returns a List backed by a varargs T.
return Arrays.asList(s);

Variable size List

如果需要尺寸不同的,可以做ArrayList号和List号固定大小的,像这样

return new ArrayList<String>(Arrays.asList(s));

在Java7+中,你可以使用diamond operator <>来实现它

return new ArrayList<>(Arrays.asList(s));

单元素列表

集合可以返回一个列表,其中一个元素的列表是不可变的:

Collections.singletonList(s)

这里的好处是IDES代码分析不会警告单个元素,因为List(..)电话.

Java相关问答推荐

Java加密/解密代码转换为PHP不起作用

从头开始使用Jgit初始化InMemoryRepository

Analyst Idea构建错误:NoClassDefFound错误:javax/html/bind/JAVAX Bwitch [SOLVED]

Java -使用空比较或instanceof?

Android视图覆盖不阻止点击它后面的控件

如何将kotlin代码转换为java

通过合并Akka Streams中的多个慢源保持订购

RichFaces 3.x-Spring Boot-迁移web.xml

为什么Java Annotation接口覆盖对象类中的方法

我不能再在Android Studio Hedgehog上用Java语言创建新项目了吗?

Mapstruct不能正确/完全映射属性

放气总是压缩整个街区吗?

Helidon 4和Http API

Java连接池无法正常工作

解析方法";javax/imageio/metadata/IIOMetadata.getAsTree(Ljava/lang/String;)Lorg/w3c/dom/Node时加载约束冲突

如何在Java springboot中从一个端点发送多个时间响应?

S数学.exp的相同错误保证也适用于StrictMath.exp吗?

如何以事务方式向ibmmq发送消息

java21预览未命名的符号用于try-with-resources

ResponseEntity.控制器截断响应的JSON部分