파일을 읽고 목록에 추가 한 다음 목록을 읽고 문자열을 분할하여 비교 한 다음 그 내용과 함께 수행하십시오.왜 ArrayIndexOutOfBoundsException가 발생합니까?
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1
난 내 코드를 수정해야합니다 나는이 예외가?
for (Productname m : listIP) {
if (m.getIdentifier() == null || m.getProductname() == null) {
addToNonSimilarList(m.getProductname());
} else {
String id = m.getIdentifier().replaceAll("(?<=[A-Za-z])(?=[0-9])|(?<=[0-9])(?=[A-Za-z])", " ").toUpperCase();
String product = m.getProductname().replaceAll("(?<=[A-Za-z])(?=[0-9])|(?<=[0-9])(?=[A-Za-z])", " ").toUpperCase();
id = id.replaceAll("\\s+", " ");
product = product.replaceAll("\\s+", " ");
if (!id.equalsIgnoreCase(product)) {
if (id.contains(" X ") && product.contains(" X ")) {
String[] ide = id.split(" (?=X\\s*\\d+)");
String[] prod = product.split(" (?=X\\s*\\d+)");
System.out.println(m.getMnemonic());
if (ide.length > 0 && prod.length > 0 && ide[1].trim().equalsIgnoreCase(prod[1].trim())) {
String[] i = ide[0].split(" (?=\\d+)");
String[] p = prod[0].split(" (?=\\d+)");
if (i[0].trim().equalsIgnoreCase(p[0].trim())) {
//do nothing
} else {
addToNonSimilarList(m.getProductname());
}
} else {
addToNonSimilarList(m.getProductname());
}
} else {
addToNonSimilarList(m.getProductname());
}
}
}
}
예이 두 개의 ide [1] prod [1]의 두 번째 요소가 같은지 확인해야합니다. ** 더 나은 방법은 무엇입니까? ** – itro
@itro : 최소한 하나가 아닌 각 배열에 * 적어도 두 개의 요소 *가 있는지 확인하십시오. –