将hashmap转换为stringarray

DrW*_*lie 2 java mysql arrays hashmap keyset

我试图将一个hashmap转换为一个数组,我可以将其放入一个创建的字符串数组中.但是我得到了java.lang.我已经将我的drinkar.keySet().toArray()转换为String [],但它仍然无效.

public String[] receiveArrayList(){

String[] list = new String[0];

    try {
        ois = new ObjectInputStream(socket.getInputStream());
        drinkar = (HashMap<String, ArrayList<String>>) (ois.readObject());
        System.out.println(drinkar);

        System.out.println(Arrays.toString(drinkar.keySet().toArray()));
        list = (String[]) (drinkar.keySet().toArray());

        for(int i = 0; i < list.length; i++){
            System.out.println(list);
        }


    } catch (ClassNotFoundException ex) {
        System.out.println(ex);
    } catch (IOException ex) {
        System.out.println(ex);
    }
    return list;

}
Run Code Online (Sandbox Code Playgroud)

Pet*_*lák 9

使用toArray(T [])为:

String[] list = drinkar.keySet().toArray(new String[0]);
Run Code Online (Sandbox Code Playgroud)

通过给出一个空数组作为参数,您可以告诉您为您toArray创建一个具有正确大小的新数组.


请注意:如果您可以选择,那么使用集合(例如ArrayList代替数组)通常会更方便(也更安全).