Tôi lấy Vector từ API của sản phẩm.[java.lang.String; không thể truyền tới java.lang.String
Vector<?> dataVector = dataAPI.getReturnVector();
Vectơ được dự kiến sẽ chứa chuỗi dưới dạng giá trị. Tôi có thể in kích thước của vector là 2. Nhưng vì một lý do nào đó tôi không thể lặp lại và in các giá trị.
tôi đã cố gắng
Iterator<?> iter = dataVector.iterator();
while(iter.hasNext()) {
System.out.println(iter.next());
}
tôi luôn luôn kết thúc nhận được một
[java.lang.String; cannot be cast to java.lang.String
tôi đã sử dụng
iter.next().getClass().getName()
và nó bật ra được java.lang.String
chỉ.
Tôi googled một chút và tìm thấy một vấn đề tương tự tại http://prideafrica.blogspot.com/2007/01/javalangclasscastexception.html
Tôi cố gắng để thiết lập các Generics như String[]
, nhưng kết thúc với cùng một lỗi.
Nếu véc tơ có chứa java.lang.String
, tại sao tôi nhận được ngoại lệ truyền này? Làm thế nào tôi có thể in các giá trị thực tế?
Vui lòng cung cấp đề xuất của bạn.
Dấu chấm phẩy đó đến từ đâu? –
Thông báo lỗi có thể bắt đầu bằng dấu ngoặc mở như '[java.lang.String;'? Đó sẽ là tên nội bộ của một mảng String. –
Ồ vâng, nó bắt đầu với một cú đúp mở [. Xin lỗi vì đã bỏ lỡ điều đó. Tôi không biết rằng nó sẽ tạo nên sự khác biệt. – jobinbasani