【问题标题】:Getting a char from a String从字符串中获取字符
【发布时间】:2017-02-04 16:52:32
【问题描述】:

我有一个名为List 的字符串变量。我想获取List 中的字符串的第一个字符。 问题是,我不能在List 上使用charAt() 函数。 到目前为止,这是我的努力:

List<String> testList = new ArrayList<>();

testList.get(3).chatAt(0);

【问题讨论】:

  • 首先说明您正在使用的编程语言和tag 问题可能会有所帮助。

标签: java arrays string char


【解决方案1】:

您提供的代码应该可以工作(除了错字)。它检索列表中的第 4 项,我们知道这是一个字符串,因为已将列表定义为字符串列表,然后获取该字符串的第一个字符。如果列表中没有 4 个东西,或者字符串中没有任何字符,它显然会中断。

List<String> testList = new ArrayList<>();
testList.get(3).charAt(0);

在调用 charAt 之前,您可以通过将 String 声明为变量来使事情更清晰。

String s = testList.get(3);
char c = s.charAt(0);

【讨论】:

  • 我刚刚意识到,我有一个列表......对不起,我搞砸了。
  • 该错误表明 get() 方法正在返回一个对象,而不是一个字符串。但是,情况并非如此,因为您已使用 List 声明您的列表包含字符串。如果您想要快速修复,那么您可以在调用 charAt 之前将 get 方法的输出转换为字符串:((String)testList.get(3)).charAt(0)。但我建议您尝试改用正确的泛型。您可以发布您正在使用的确切代码吗?
  • 感谢您的帮助
【解决方案2】:

方法get(String s) 不适用于 Java 中的数组,可能您将它与 Java 集合框架(列表)的方法混淆了。 如果你有一个字符串数组,你必须首先使用array[i] 访问元素 并在调用方法charAt(int index) 之后。 最后你必须使用array[i].charAt(index) 其中 i 是您搜索的字符串在数组中的位置,index 是您必须在字符串中搜索的字符索引。

【讨论】:

  • 是的,它适用于数组,但不幸的是我写错了我的问题。我实际上使用了一个由数组插入的列表。
  • @CodingProgression 好吧,我回答你的第一个问题。 :/ leedsunited92 已经解决了你的问题 ;)
猜你喜欢
  • 1970-01-01
  • 2015-08-06
  • 2015-08-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-01
  • 1970-01-01
相关资源
最近更新 更多