【问题标题】:How do I access a specific index in a String in java? [duplicate]如何在java中访问String中的特定索引? [复制]
【发布时间】:2020-04-02 10:12:44
【问题描述】:

这是我编写的示例代码,

public static void main(String []args){
        String inputString = "apple";
        char a = inputString[2]; //one
        System.out.println(inputString[2]); //two
    }

一和二都给我一个错误说Array type expected; found: 'java.lang.String'我做错了什么?如何访问字符串中的特定索引?

【问题讨论】:

  • charAt()。也请阅读tutorial,除非您打算猜测该语言是如何工作的,而不是研究它是如何工作的。
  • String 是一个字符数组,要访问特定的索引需要使用inputString.charAt(2)
  • 这能回答你的问题吗? Get string character by index - Java

标签: java string substring syntax-error assign


【解决方案1】:

您正试图访问String 的字符,就好像它是一个字符数组一样。您应该改用charAt 方法:

char a = inputString.charAt(2);

为了使数组访问起作用,您应该首先获取给定String的字符数组:

char[] chars = inputString.toCharArray();
char a = chars[2];

这在迭代 String 的字符时很有用。

【讨论】:

    【解决方案2】:

    您不能像对数组那样在给定索引处获取字符,因为String 不是一个数组。这是一门课。

    charAt 方法就是你要找的:

    input.charAt(2)
    

    方法的签名如下:

    public char charAt(int index);
    

    javadoc 说:

    返回指定索引处的 char 值。索引的范围从 0 到 length() - 1。序列的第一个 char 值在索引 0 处,下一个在索引 1 处,依此类推,与数组索引一样。如果索引指定的char值是代理,则返回代理值。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-23
      • 2021-06-09
      • 1970-01-01
      • 2017-06-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多