Java List.of()改写为jdk8

Java 8中没有直接等价的List.of()方法,因为List接口在Java 8中并没有引入任何新的默认方法。但是,你可以使用Arrays.asList()来实现类似的功能。

下面是一个示例代码,展示如何使用Arrays.asList()来创建一个固定大小的列表:

java 复制代码
import java.util.Arrays;
import java.util.List;
 
public class ListOfExample {
    public static void main(String[] args) {
        // Java 9+ List.of() example
        List<String> listOfStrings = List.of("a", "b", "c");
 
        // Java 8 Arrays.asList() equivalent
        List<String> listOfStringsJava8 = Arrays.asList("a", "b", "c");
 
        // Output
        System.out.println(listOfStrings);
        System.out.println(listOfStringsJava8);
    }
}

注意,Arrays.asList()返回的列表是固定大小的,即不支持添加或删除元素。如果需要一个可变的列表,你可以进一步将Arrays.asList()的结果传递给ArrayList的构造函数:

java 复制代码
List<String> mutableList = new ArrayList<>(Arrays.asList("a", "b", "c"));

这样得到的mutableList就是一个可变的列表,可以添加或删除元素。

另外lambda表达式中,jdk8写成List::of会语法错误,应写成Arrays::asList

提示:AI自动生成,仅供参考

相关推荐
前端炒粉1 分钟前
手撕小汇总
java·前端·javascript
初願致夕霞2 分钟前
C++懒汉单例设计详解
服务器·开发语言·c++
脱胎换骨-军哥14 分钟前
C++分布式系统设计:从通信引擎到分布式共识
开发语言·c++·分布式
唐青枫21 分钟前
Java Kafka 实战指南:从 Topic、分区到 Spring Boot 可靠消息处理
java
脱胎换骨-军哥1 小时前
C++零成本抽象理论深度拆解:现代C++如何在不牺牲性能的前提下提供高级语法封装
java·开发语言·c++
lbb 小魔仙1 小时前
VS Code Python 高级调试技巧:从入门到精通
开发语言·python
我是唐青枫2 小时前
Java Netty 实战指南:从 NIO 线程模型到 TCP 编解码和心跳机制
java·tcp/ip·nio
方便面不加香菜2 小时前
C++ 模板进阶
开发语言·c++
小白说大模型2 小时前
从向量嵌入到复杂 Agent:LLM、LangChain、LangGraph 完整科普
java·开发语言·人工智能·gpt·深度学习·langchain
豆浆D油条2 小时前
QT容器类QList调用erase崩溃
开发语言·qt·rpc