关于charAt功能的问题

时间:2010-06-02 18:49:29

标签: java algorithm

我知道java API函数charAt例如

String  s="dato"
  char r=s.charAt(0); r is equal d

但我的问题是它是如何真正起作用的,或者我可以使用什么函数而不是charAt函数来获得相同的结果?感谢

3 个答案:

答案 0 :(得分:0)

目的是什么?我的意思是,如果charAt(0)做了你想要的,为什么还要找其他东西?

但是,回答你的问题:不,没有(合理直接的)方法从Java中的字符串中获取n th 字符。您可以使用String的{​​{1}}方法,但会返回substring(...),而不是String

或者首先将您的char转换为String的{​​{1}} char数组String并从数组中获取一个字符,但这只是愚蠢的有toCharArray()可供您使用。

答案 1 :(得分:0)

没有“函数”,对象上只有方法,一个对象类为String,此类为此提供charAt()。请注意,String类似于char的数组或字符序列,并且检索字符只是访问该序列中的正确索引。

请注意,可以通过其他方式获取第一个char(比如将字符串转换为数组或其他任何方式),但这不会有意义。

答案 2 :(得分:0)

String类表示字符串。 Java程序中的所有字符串文字,例如" abc",都是作为此类的实例实现的。 字符串是不变的;它们的值在创建后无法更改。字符串缓冲区支持可变字符串。因为String对象是不可变的,所以可以共享它们。例如:

 String str = "abc";

相当于:

 char data[] = {'a', 'b', 'c'};

<强>的charAt

返回指定索引处的char值。索引的范围从0到length() - 1.序列的第一个char值在索引0处,下一个在索引1处,依此类推,就像数组索引一样。

如果索引指定的char值是代理项,则返回代理值。

指定者:

接口CharSequence

中的

charAt

<强>参数:

index - char值的索引。

<强>返回:

此字符串的指定索引处的char值。第一个char值位于索引0。

<强>抛出:

IndexOutOfBoundsException - 如果index参数为负数或不小于此字符串的长度。