Tôi đã đặt Netbeans để hiển thị cảnh báo chưa được kiểm tra trong mã Java của mình, nhưng tôi không hiểu lỗi trên các dòng sau:
private List<String> cocNumbers;
private List<String> vatNumbers;
private List<String> ibans;
private List<String> banks;
...
List<List<String>> combinations = Utils.createCombinations(cocNumbers, vatNumbers, ibans);
Cung cấp:
[unchecked] unchecked generic array creation for varargs parameter of type List<String>[]
Nguồn phương pháp:
/**
* Returns a list of all possible combinations of the entered array of lists.
*
* Example: [["A", "B"], ["0", "1", "2"]]
* Returns: [["A", "0"], ["A", "1"], ["A", "2"], ["B", "0"], ["B", "1"], ["B", "2"]]
*
* @param <T> The type parameter
* @param elements An array of lists
* @return All possible combinations of the entered lists
*/
public static <T> List<List<T>> createCombinations(List<T>... elements) {
List<List<T>> returnLists = new ArrayList<>();
int[] indices = new int[elements.length];
for (int i = 0; i < indices.length; i++) {
indices[i] = 0;
}
returnLists.add(generateCombination(indices, elements));
while (returnLists.size() < countCombinations(elements)) {
gotoNextIndex(indices, elements);
returnLists.add(generateCombination(indices, elements));
}
return returnLists;
}
Chính xác thì điều gì đang xảy ra và tôi sẽ sửa nó như thế nào, vì tôi cho rằng để lại các cảnh báo không được kiểm tra trong mã không phải là một ý kiến hay?
Quên đề cập, nhưng tôi đang sử dụng Java 7.
Chỉnh sửa : Ngoài ra, bây giờ tôi thấy rằng phương pháp có như sau:
[unchecked] Possible heap pollution from parameterized vararg type List<T>
where T is a type-variable:
T extends Object declared in method <T>createCombinations(List<T>...)