JAVA length

在Java中,Length 是一个非常重要的概念,但具体用法取决于不同的数据类型。

1. 数组长度

数组使用 .length 属性(不是方法)

复制代码
// 一维数组
int[] numbers = {1, 2, 3, 4, 5};
int length1 = numbers.length;  // 5

// 二维数组
int[][] matrix = {{1, 2}, {3, 4}, {5, 6}};
int rows = matrix.length;      // 3(行数)
int cols = matrix[0].length;   // 2(第一行的列数)

// 字符串数组
String[] names = {"Alice", "Bob", "Charlie"};
int nameCount = names.length;  // 3

2. 字符串长度

字符串使用 .length() 方法

复制代码
String str = "Hello World";
int strLength = str.length();  // 11

// 空字符串
String empty = "";
int emptyLength = empty.length();  // 0

// 包含Unicode字符
String emoji = "😀Hello";
int emojiLength = emoji.length();  // 7(注意:😀占用2个char)

3. 集合长度

集合使用 .size() 方法

复制代码
import java.util.*;

List<Integer> list = Arrays.asList(1, 2, 3, 4, 5);
int listSize = list.size();  // 5

Set<String> set = new HashSet<>();
set.add("A");
set.add("B");
set.add("C");
int setSize = set.size();    // 3

Map<String, Integer> map = new HashMap<>();
map.put("Alice", 25);
map.put("Bob", 30);
int mapSize = map.size();    // 2

4. StringBuilder/StringBuffer长度

使用 .length() 方法

复制代码
StringBuilder sb = new StringBuilder("Hello");
int sbLength = sb.length();  // 5

sb.append(" World");
int newLength = sb.length();  // 11

// 设置长度
sb.setLength(3);  // 截断为前3个字符

5. 文件长度

复制代码
import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;

// 方式1:使用File类
File file = new File("data.txt");
long fileSize = file.length();  // 字节数

// 方式2:使用NIO Files
Path path = Path.of("data.txt");
long size = Files.size(path);  // 字节数

重要区别总结

类型 获取长度 说明
数组 .length 属性,不是方法
字符串 .length() 方法,返回字符数
集合 .size() 方法,返回元素个数
StringBuilder .length() 方法,返回字符数
文件 .length() 方法,返回字节数
相关推荐
2601_9687931414 分钟前
Python Requests 轻量自动化:无需浏览器,实现真人级账号浏览模拟
开发语言·python·自动化
eggwyw37 分钟前
关于C++为什么不加入垃圾回收机制解析
开发语言·c++
jktantan38 分钟前
注解式脱敏:用 Jackson 的 ContextualSerializer 做字段级策略(一)
spring boot·后端·算法·spring cloud·系统架构
独泪了无痕10 小时前
探索Pinyin4j-Java中的拼音转换利器
java·后端
道尔柯南11 小时前
C++ string 类详解:从常用接口到深拷贝,彻底掌握字符串处理
android·java·c++
来让爷抱一个12 小时前
Python 异步里混用同步库,事件循环被卡住的全过程
开发语言·python
kingx312 小时前
Bugku 3122 谷歌小恐龙题解:纯离线逆向 Vault 的 AES-GCM 加密资源(附 Python 解密器)
java·逆向·ctf·bugku·aes-gcm
Dream it possible!13 小时前
LeetCode 面试经典 150_多维动态规划_交错字符串(97_C++_中等)
算法·leetcode·面试·动态规划
DevOpenClub14 小时前
职教高考控制线 API:招生类别枚举、筛选与空分数含义
java·数据库·高考
心抵鹊14 小时前
算法之双指针系列(一)
算法·leetcode