Skip to content

Arrays

Arrays 是 Java 标准库(java.util 包)中的一个工具类(Utility Class)。它提供了大量用于操作数组的静态方法,例如排序、搜索、比较、填充和转换等。使用 Arrays 类可以避免手动编写复杂的数组操作代码,让开发更高效。

AttributePlus默认就导入了 Arrays 这个类,所以我们可以直接使用这个类下的所有静态方法。

一般只会使用 Arrays.asList() 这个方法,它会返回一个 List。因为编写属性时,操作玩家属性源时需要 List<String> 作为参数。

如何使用

JavaScript
var list = Arrays.asList("属性A")
var list = Arrays.asList("属性A", "属性B")
var list = Arrays.asList("属性A", "属性B", "属性C")
var list = Arrays.asList("属性A", "属性B", "属性C", ...)
//单个参数时更推荐的做法是,不过AttributePlus默认没有导这个包,知道即可
var list = Collections.singletonList("属性A")

List 中有很多强大的功能,可以自行学习,只介绍一些常用的功能

JavaScript
var list = Arrays.asList("属性A", "属性B")
//在列表中增加一个 "属性C" 字符串
list.add("属性C")
//获取列表中第一个字符串,0代表第一个,1代表第二个,以此类推
//这里的first就是 "属性A"
var first = list.get(0);
//在列表中移除第一个字符串,0代表第一个,1代表第二个,以此类推
list.remove(0);
//在列表中移除 "属性C" 这个字符串
list.remove("属性C")
//获取列表是否包含 "属性C" 这个字符串
var bool = list.contains("属性C")

List<String> 是什么

List 是一个列表接口, ArrayList 类实现了这个接口,我们常用的就是 ArrayList 类。

List<String> 中的 <String> 是 泛型 的语法。(暂时也不用理解泛型的概念)
它表示这个 List 只能存储 String 类型的对象。
同理List<Double> 只能存储 Double 类型的对象,同理List<LivingEntity> 只能存储 LivingEntity 类型的对象。

为什么List<Double> 只能存储 Double 类型的对象,而不是 double 基本数据类型?
因为Java无法这样操作。基本数据类型是什么?

顺嘴一提:嵌套

计算机语言非常强大,你甚至可以 List<List<String>> List<List<List<String>>>