Java 拆分字符串导致ArrayIndexOutOfBoundsException

Java 拆分字符串导致ArrayIndexOutOfBoundsException,java,android,arrays,string,Java,Android,Arrays,String,我正在尝试用Java拆分一个西班牙语字符串。我得到了以下例外: 阵列索引边界外异常 我试图拆分的字符串是:pin pon es un muñeco 调试程序显示以下错误: java.lang.ArrayIndexOutOfBoundsException:长度=1;索引=1 拆分语句: String[] splitVideoTitle = tvTitle.getText().toString().split("\\s+"); 导致上述索引异常的代码行在此代码行中: String firstWo

我正在尝试用Java拆分一个西班牙语字符串。我得到了以下例外:

阵列索引边界外异常

我试图拆分的字符串是:pin pon es un muñeco

调试程序显示以下错误:

java.lang.ArrayIndexOutOfBoundsException:长度=1;索引=1

拆分语句:

String[] splitVideoTitle = tvTitle.getText().toString().split("\\s+"); 
导致上述索引异常的代码行在此代码行中:

String firstWords = splitVideoTitle[0] + " " + splitVideoTitle[1];
任何避免这一例外情况的建议都将不胜感激


感谢这个错误仅仅意味着数组
splitVideoTitle
在索引
splitVideoTitle[0]
处只有一个元素。我假设这是因为完整视频标题不包含拆分字符,或者拆分字符位于标题的开头或结尾

试试这个:

String firstWords;
if (splitVideoTitle.length >= 2) {
    firstWords = splitVideoTitle[0] + " " + splitVideoTitle[1];
} else if (splitVideoTitle.length == 1) {
    firstWords = splitVideoTitle[0];
}
只需添加一个测试:

   String firstWords = "";
if(splitVideoTitle.length>1){
        firstWords = splitVideoTitle[0] + " " + splitVideoTitle[1];
    }
    else firstWords=splitVideoTitle[0];

我通过将Textview收到的值分配给另一个变量来尝试您的代码,您的代码可以正常工作

    String a = "pin pon es un muñeco";
    String[] splitVideoTitle = a.split("\\s+");
    String firstWords = splitVideoTitle[0] + " " + splitVideoTitle[1];
    Log.i("TAG", "first word" + firstWords);

可能是“tvTitle.getText().toString()”,这正在创建问题,或者返回null。请使用日志检查Textview返回的值。

您使用的拆分语句在哪里?
java.lang.ArrayIndexOutOfBoundsException:length=1;index=1
您的字符串根本没有被拆分。我已经用拆分语句更新了我的帖子。在测试您的拆分语句时,它应该可以工作。这是您尝试拆分的唯一标题,还是在数组上循环?还有,
getText()
返回什么?实际上,我通过web服务API获得了许多字符串。getText返回语句:pinpones un muñeco