今天在写代码的时候,发现一个小知识点忘记了。
就是什么时候用length(),什么时候用size()方法。
在Java中,`length()` 方法和 `size()` 方法虽然都用于获取集合或数组的大小,但它们分别适用于不同的数据结构,并且在某些情况下它们的行为会有所不同。
1. length():
- `ength()` 是一个属性,不是方法,用于获取数组的长度。
- 适用于所有类型的数组,包括基本数据类型数组和对象数组。
- 例如,如果你有一个 `int[]` 或 `String[]` 数组,你可以通过 `array.length` 来获取数组中元素的数量。
示例代码:
int[] numbers = {1, 2, 3, 4, 5};
int length = numbers.length; // length 为 5
2. size()方法:
- size() 是一个方法,用于获取实现了 `Collection` 接口的集合的大小。
- 适用于所有实现了 `Collection` 接口的类,如 `List`, `Set`, `Queue` 等。
- 例如,如果你有一个 `ArrayList` 或 `HashSet`,你可以通过 `collection.size()` 来获取集合中元素的数量。
示例代码:
List<String> list = new ArrayList<>();
list.add("Hello");
list.add("World");
int size = list.size(); // size 为 2
总结:
- 当你处理数组时,使用 `length` 属性来获取元素数量。
- 当你处理集合(如 `List`, `Set`, `Queue` 等)时,使用 `size()` 方法来获取元素数量。
需要注意的是,对于数组,没有 `size()` 方法,而对于非数组的集合类型,没有 `length` 属性。
在前端中也是一样
for(var i = 0; i < this.subjectOneList.length; i++) {
//每个一级分类
var oneSubject = this.subjectOneList[i]
//判断:所有一级分类id 和 点击一级分类id是否一样
if(value === oneSubject.id) {
//从一级分类获取里面所有的二级分类
this.subjectTwoList = oneSubject.children
//把二级分类id值清空
this.courseInfo.subjectId = ''
}
}