摘要: 内容由AI生成 Java 基础避坑与原理:Scanner、泛型与 ArrayList(含源码验证) 1. Scanner 的“回车符”陷阱 现象: 在使用 Scanner 时,如果先调用 nextInt(),紧接着调用 nextLine(),第二个字符串输入会直接跳过(读到空字符串)。 int nu 阅读全文
posted @ 2025-12-06 10:15 Nickey103 阅读(8) 评论(0) 推荐(0)
摘要: 内容由AI生成 一、 泛型(Generics)与类型擦除 现象: 为什么写 ArrayList<int> 编译器会报错,必须写 ArrayList<Integer>? 1. 核心考点:类型擦除 (Type Erasure) 面试回答: Java 的泛型是伪泛型,是在编译器层面实现的。在编译后的字节码 阅读全文
posted @ 2025-12-06 09:51 Nickey103 阅读(14) 评论(0) 推荐(0)
摘要: 为什么 nextInt() + nextLine() 会出问题,以及底层的原理。 1. 核心原因:回车符(\n)的残留 计算机处理键盘输入时,有一个输入缓冲区(Buffer)。 当输入数字 10 并按下回车键时,输入缓冲区里的内容实际上是: 10\n (10 是你输入的数字,\n 是回车键产生的换行 阅读全文
posted @ 2025-12-06 09:24 Nickey103 阅读(15) 评论(0) 推荐(0)
摘要: 如果输入数据总量 ≥ 10^5,则应该考虑使用快读。 尤其是:总整数个数 ≥ 100000,或输入文件大小 ≥ 几 MB 且语言是 Java,因为 Java 的 Scanner 会非常慢,本质上是“正则解析器”,时间复杂度远高于预期。 static class FastScanner { priva 阅读全文
posted @ 2025-12-06 00:39 Nickey103 阅读(8) 评论(0) 推荐(0)