如何在不使用任何API方法的情况下查找String的第一个字符

Ami*_*ati 8 java string

最近我在接受采访时被问到这个问题:

String不使用String类中的任何方法的情况下查找a的第一个字符

给出以下方法,假设str为字符串:

  1. str.charAt(0)
  2. str.toCharArray()[0]
  3. str.substring(0,1)

任何人都可以建议我实现它的方式吗?

Tun*_*aki 4

使用MatcherAPI(而不是String):我们创建一个模式来捕获每个字符,但只找到第一个字符并打印它(启用dotall 模式来处理第一个字符是行分隔符的情况)。

public static void main(String[] args) {
    Matcher matcher = Pattern.compile("(.)", Pattern.DOTALL).matcher("foobar");
    if (matcher.find()) {
        System.out.println(matcher.group(1)); // prints "f"
    }
}
Run Code Online (Sandbox Code Playgroud)