Java:访问字符串数组时的ArrayIndexOutOfBounds [重复]
Posted
技术标签:
【中文标题】Java:访问字符串数组时的ArrayIndexOutOfBounds [重复]【英文标题】:Java: ArrayIndexOutOfBounds when accessing String array [duplicate] 【发布时间】:2018-10-26 14:51:49 【问题描述】:我有一个带有 3 个文本字段和一个按钮的 Jframe,当我按下按钮时,程序会将文本字段的值存储在字符串中并根据模式检查它们,这是代码的相关部分:
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt)
Pattern pat = null;
Matcher mat = null;
String file = jTextField3.getText();
pat = Pattern.compile("[a-zA-Z0-9]1,8");
if(file.contains("."))
String [] splitFile= file.split(".");
String fileName = splitFile[0];
mat = pat.matcher(fileName);
else
mat = pat.matcher(file);
我在String fileName = splitFile[0]
上得到一个 ArrayIndexOutOfBounds : 0,jTextField 的名称是正确的并且该字段不为空,当我遇到这个异常时,我尝试使用 'test.txt'
感谢您的帮助
【问题讨论】:
【参考方案1】:String.split
带有正则表达式的单词,而.
在正则表达式中表示any character
,您应该使用两个反斜杠对其进行转义。一个用于编译,一个用于正则表达式。
String [] splitFile= file.split("\\.");
【讨论】:
以上是关于Java:访问字符串数组时的ArrayIndexOutOfBounds [重复]的主要内容,如果未能解决你的问题,请参考以下文章