語法
char c = str.charAt(i);
含義
str:String 類型變量。
i:索引位置,**從 0 開始**,範圍 [0, str.length() - 1]。
c:返回 char 類型,**單個字符**(非字符串)。
示例
String str = "Hello";
char c0 = str.charAt(0); // 'H'
char c4 = str.charAt(4); // 'o'
// char c5 = str.charAt(5); // 拋出 StringIndexOutOfBoundsException
常見用途
| 場景 | 代碼片段 |
| 遍歷字符串 | for (int i=0; i |
| 判斷首/尾字符 | if (s.charAt(0) == '#') ... |
| 字符統計 | int[] cnt=new int[256]; for(char c:s.toCharArray()) cnt[c]++; |
| 解析固定格式 | char sep = line.charAt(pos); |
注意事項
- **索引越界拋異常**:調用前建議檢查
i >= 0 && i < str.length()。
char 是 **UTF-16 代碼單元**,對於補平面字符 (Emoji、罕見漢字) 會返回「代理對」的高/低代理項,非完整字符。需用 codePointAt 處理完整 Unicode 碼點。
- 若需 **子字符串**,用
str.substring(i, i+1) (返回 String)。
對比
| 方法 | 返回類型 | 用途 |
charAt(i) | char | 單字符操作、數值比較、數組索引 |
substring(i,i+1) | String | 需字符串 API、拼接、正則匹配 |
codePointAt(i) | int | 完整 Unicode 碼點、支持 Emoji |
一句话總結:charAt(i) 返回字符串第 i 個位置的 **char 類型字符**,索引從 0 起,越界拋異常。
- 上一篇文章: Android JSON 解析動態鍵名對象:Gson 映射 Map<String, Object> 處理不定字段
- 下一篇文章: Oracle SQL 模糊查詢:LIKE 'L%' 以 L 開頭
Copyright ©
程式碼之家 All Rights Reserved