本文详解如何正确获取 ArrayList 中各字符串的首字符,并基于首字符条件(如排除以 'S' 开头的单词)进行筛选输出,避免常见类型错误与逻辑陷阱。
本文详解如何正确获取 arraylist
在 Java 中,ArrayList
你最初写的 itemsArrayList.charAt(0) == "S" 出错,原因有二:
- itemsArrayList 是 ArrayList
类型,没有 charAt() 方法; - 即使是 String,比较字符应使用单引号 'S'(char 类型),而非双引号 "S"(String 类型),否则编译不通过(类型不匹配)。
✅ 正确做法如下:
Java Maven 项目审查工作流的通用输入处理。当 Java Maven 项目以 ZIP压缩包或 GitLab 仓库 URL 形式提供且需要...时使用。
import java.util.ArrayList;
public class StringArrayListCharAccess {
public static void main(String[] args) {
ArrayList<string> words = new ArrayList();
words.add("Slim");
words.add("Shady");
words.add("Eminem");
words.add("Stan");
words.add("Encore");
System.out.println("Words NOT starting with 'S':");
for (String word : words) {
// 安全检查:非空且长度 ≥ 1,避免 StringIndexOutOfBoundsException
if (word != null && !word.isEmpty() && word.charAt(0) != 'S') {
System.out.println(word);
}
}
}
}</string>
输出结果:
Words NOT starting with 'S': Eminem Encore
⚠️ 关键注意事项:
- 空值与空字符串防护:务必检查 word != null && !word.isEmpty(),否则对 null 或空串调用 charAt(0) 会抛出 NullPointerException 或 StringIndexOutOfBoundsException;
- 字符比较用单引号:'S' 是 char,"S" 是 String,二者不可混用;
- 大小写敏感:'S' 不匹配 's'。如需忽略大小写,可改用 !word.toLowerCase().startsWith("s") 或 Character.toUpperCase(word.charAt(0)) != 'S';
- 性能提示:word.toString() 在此处冗余(word 已是 String),无需额外调用。
总结:访问 ArrayList
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










