You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Dart中是否存在类似Java charAt的字符串字符获取方法?

Dart中获取字符串指定位置字符的方法

Dart里有多种方式实现类似Java charAt() 的功能,用法如下:

  • 直接通过索引访问(最常用):
    Dart的字符串支持方括号索引语法,直接获取对应位置的字符(返回长度为1的String类型):

    String name = "Jack";
    String letter = name[0];
    print(letter); // 输出: J
    
  • 获取Unicode代码单元:
    如果需要对应Java中char的数值形式,可以使用codeUnitAt()方法,返回指定索引处的UTF-16代码单元:

    String name = "Jack";
    int code = name.codeUnitAt(0);
    print(code); // 输出: 74('J'的ASCII码值)
    
  • 处理复杂Unicode字符:
    对于包含多字节Unicode字符(如emoji、部分特殊中文)的场景,直接索引可能得到拆分的代理对,此时推荐使用runes属性遍历完整字符:

    String emoji = "😀";
    int rune = emoji.runes.first;
    print(String.fromCharCode(rune)); // 输出: 😀
    

注意:Java的charAt()返回char类型,而Dart直接索引返回的是String,这是因为Dart字符串基于UTF-16实现,针对超出基本多语言平面(BMP)的字符,runes能保证获取完整的字符实体。

内容的提问来源于stack exchange,提问作者AbDullA

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 22:36:29