如何从Object []转换为int []

Joh*_*Joe 5 java vector cosine-similarity

我想传递myVector给另一个类(Case.java)但我得到这种错误消息.类型不匹配:无法从Object []转换为int [].谁能告诉我怎么解决这个问题?

User.java

JButton btnNewButton = new JButton("Process");

btnNewButton.setBounds(360, 296, 89, 23);
contentPane.add(btnNewButton);

btnNewButton.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
        Integer a = (comboBox.getSelectedIndex() + 1);
        Integer b = (comboBox_1.getSelectedIndex() + 1);
        Integer day = (comboBox_2.getSelectedIndex() + 1);
        ArrayList<Integer> myVector = new ArrayList<Integer>();
        myVector.add(a);
        myVector.add(b);
        myVector.add(day);

        Case ca = new Case();
        try {
            ca.addPlace(myVector);
            LoginGUI um = new LoginGUI();
            um.setVisible(true);

        } catch (Exception e1) {
            // TODO Auto-generated catch block
            e1.printStackTrace();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

Case.java

public class Case {

    public Case() {
        // TODO Auto-generated constructor stub
    }

    public void addPlace(ArrayList<Integer> h) {

        int vec1[] = h.toArray();
        int vec2[] = {2, 1, 3, 2};

        double cos_sim = cosine_similarity(vec1, vec2);
    }
Run Code Online (Sandbox Code Playgroud)

Mar*_*tin 4

使用 Java8 这将是可能的:

int[] vec1 =  h.stream().filter(t -> t != null).mapToInt(t -> t).toArray();
Run Code Online (Sandbox Code Playgroud)