[ERROR] java.lang.ArrayIndexOutOfBoundsException:1

时间:2014-07-08 15:10:18

标签: java informatica informatica-powercenter

我在informatica java转换中执行了以下java脚本,但我收到错误:[ERROR]java.lang.ArrayIndexOutOfBoundsException:1

String [] Name_parsed;
String Name_delimiter = "&";
String  Name_li = Name;
int Name_length = Name_li.length();

for (int i=0; i < Name_length; i++) 
{
    Name_parsed = Name.split(Name_delimiter);

    o_Name =Name_parsed[0];
    generateRow();

    o_Name =Name_parsed[1];
    generateRow();

}

3 个答案:

答案 0 :(得分:2)

有可能,您的输入字符串少于1 &个字符。尝试打印Name变量以查看是否是这种情况。您始终可以将其包装在try/catch块中以处理这些情况。

答案 1 :(得分:2)

错误意味着您的数组长度低于1.

这意味着Name.split(Name_delimiter)只返回一个元素的数组。

当您尝试访问1索引o_Name =Name_parsed[1];时,它无法找到它。

验证您的输入数据。

答案 2 :(得分:1)

如果名称字段中可以有可变数量的“&amp;”(s),您应该这样做:

String [] Name_parsed;
String Name_delimiter = "&";
String  Name_li = Name;
int Name_length = Name_li.length();

for (int i=0; i < Name_length; i++) 
{
    Name_parsed = Name.split(Name_delimiter);

    for (int j=0; j<Name_parsed.length; j++){
    {
        o_Name =Name_parsed[j];
        generateRow();
    }

}