java.lang.StringIndexOutOfBoundsException : while using charAt function

标签 java

我想获取“,”的位置,所以我使用了 charAt 函数

下面是代码

    public class JavaClass {

public static void main(String args[]){
    System.out.println("Test,Test".charAt(','));
}
}

但问题是我收到 StringIndexOutOfBoundException 任何人都可以帮助我为什么我收到此错误

我还想知道如果没有找到“,”,那么返回的值是什么

错误如下

      Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 44
at java.lang.String.charAt(Unknown Source)
at JavaClass.main(JavaClass.java:5)

最佳答案

charAt 方法需要一个 int 来表示在字符串中查找的从 0 开始的索引。不幸的是,您传入的 char , 可以转换为 int, 44,并且字符串中的字符数少于 45 个,因此会出现 StringIndexOutOfBoundsException

您想查找字符串中 , 的位置吗?那么 charAt 是错误的方法。尝试indexOf方法代替。

关于java.lang.StringIndexOutOfBoundsException : while using charAt function,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19409867/

相关文章:

java - 我如何在 Main 中从 FXML 文件引用某些内容?

java - 如何只使用一次扫描仪然后将其丢弃?

java - ZK MVVM 验证消息自动绑定(bind)?

java - 从 jersey @PathParameter 中的 URL 获取片段(值哈希 '#' )

java - 如何在java中从子项目中查找类?

java - 如果 Map 中的所有 List 值为空/非空,则使用 Streams 返回 boolean 值

java - 项目目标 (Android 5.0.1) 未正确加载

java - 如何在单例类 Spring Boot 中使用服务(使用 "usual"类连接不同的服务)

java - 在 Tomcat 8.0.30 上启用 CORS

java - 锁定一个简单的并发 HashMap