wseng Ответов: 1

Почему copyinto() не удалось?


Программа сначала загружает данные из sql в вектор. Затем он будет хранить все векторные элементы в массиве.

Когда я компилирую, я получаю эти ошибки. Что здесь не так?
java.lang.ArrayStoreException
at java.lang.System.arraycopy(Native Method)
    at java.util.Vector.copyInto(Vector.java:192)
    at api.Case.ComparePre(Case.java:225)
    at api.Case.CompareType(Case.java:157)


Что я уже пробовал:

public void ComparePre(Double[] value, Double[] array4,int[] array) throws Exception {
            // TODO Auto-generated method stub
 
            String sql="Select Pre1,Pre2,Pre3,Pre4,Pre5 from preferences ";
            DatabaseConnection db = new DatabaseConnection();
            Connection  conn =db.getConnection();
            PreparedStatement  ps = conn.prepareStatement(sql);
            Double[] b=new Double[4];
            Vector t =new Vector();
            ResultSet rs = ps.executeQuery();
            while (rs.next()) 
            {  
            Vector r =new Vector(); 
            r.add(rs.getInt("Pre1"));
            r.add(rs.getInt("Pre2"));
            r.add(rs.getInt("Pre3"));
            r.add(rs.getInt("Pre4"));
            r.add(rs.getInt("Pre5"));
            t.addAll(r);
            t.copyInto(b);
            }
       //    CountMatching(value,array4,array,b);
 
            ps.close();
            rs.close();
            conn.close();
        }

1 Ответов

Рейтинг:
10

CPallini

Вы не получаете ошибку компиляции, вы на самом деле получаете исключение времени выполнения.
Глядя вверх по ArrayStoreException в Документация по Java[^] вы можете обнаружить, что пытаетесь заполнить массив двойников целыми числами (и вы не можете этого сделать).


wseng

Спасибо

CPallini

Добро пожаловать.