Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java字符串拆分导致数组索引越界错误_Java_Debugging_Split - Fatal编程技术网

Java字符串拆分导致数组索引越界错误

Java字符串拆分导致数组索引越界错误,java,debugging,split,Java,Debugging,Split,我今天遇到了这个不寻常的错误。谁能解释一下我做错了什么。代码如下: AreStringsPermuted checkStringPerObj = new AreStringsPermuted(); String[] inputStrings = {"siddu$isdud", "siddu$siddarth", "siddu$sidde"}; for(String inputString : inputStrings){ String[] stringArray = inputStrin

我今天遇到了这个不寻常的错误。谁能解释一下我做错了什么。代码如下:

AreStringsPermuted checkStringPerObj = new AreStringsPermuted();
String[] inputStrings = {"siddu$isdud", "siddu$siddarth", "siddu$sidde"};
for(String inputString : inputStrings){
    String[] stringArray = inputString.split("$");
    if(checkStringPerObj.areStringsPermuted(stringArray[0],stringArray[1]))
            System.out.println("Strings : " + stringArray[0] + " ," + stringArray[1] + " are permuted");
    else
            System.out.println("Strings : " + stringArray[0] + " ," + stringArray[1] + " are not permuted");
        }
当我尝试拆分字符串时,上面的代码错误被清除。由于某些原因,当我尝试使用“$”分割每个字符串时,分割不起作用。谁能解释一下我做错了什么

以下是错误消息:

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1
    at arraysAndStrings.TestClass.checkStringsPermuted(TestClass.java:24)
    at arraysAndStrings.TestClass.main(TestClass.java:43)
String.split()
,因此需要引用包含在正则表达式中具有特殊含义的字符的字符串

String regularExpression = Pattern.quote("$");
for (String inputString : inputStrings) {
  String[] stringArray = inputString.split(regularExpression);
String.split()
,因此需要引用包含在正则表达式中具有特殊含义的字符的字符串

String regularExpression = Pattern.quote("$");
for (String inputString : inputStrings) {
  String[] stringArray = inputString.split(regularExpression);
String.split()使用regex partern,$在regex(行尾)中有特殊的含义。 在您的情况下,请使用“\$”而不是“$”

欲了解更多信息, String.split()使用regex partern,而$在regex(行尾)中有特殊含义。 在您的情况下,请使用“\$”而不是“$”

欲了解更多信息,

哇。谢谢,忘了split查找的是图案而不是字符。@Siddarth不客气。如果我的答案解决了您的问题,请接受答案。堆栈溢出不允许我立即接受。过一段时间会接受的,你太快了;)哇!谢谢,忘了split查找的是图案而不是字符。@Siddarth不客气。如果我的答案解决了您的问题,请接受答案。堆栈溢出不允许我立即接受。过一段时间会接受的,你太快了;)