Преобразовать Object в ArrayList

185
06 октября 2019, 23:20

Доброго времени! Собственно ошибка в этой части profiles = deserData("profiles")); Сразу после main

Выдает:

Incompatible types. Required: java.util.ArrayList Found: java.util.Objects

Я так понимаю нужно преобразовать Object в ArrayList?

package Cirilizacion;
import org.w3.x2000.x09.xmldsig.ObjectType;
import java.io.*;
import java.lang.reflect.Array;
import java.util.ArrayList;
import java.util.Arrays;    
import java.util.Objects;
import javax.swing.JOptionPane;
public class Main {
@SuppressWarnings("unchecked")
private static ArrayList<Profile> profiles = new ArrayList<Profile>();
public static void main(String[] args) {
    profiles = deserData("profiles"));
    Profile profile = new Profile();
    profile.setName(JOptionPane.showInputDialog(null, "Enter name"));
    profile.setName(JOptionPane.showInputDialog(null, "Enter sername"));
    profiles.add(profile);
    for (Profile profile1 : profiles) {
        System.out.println(profile1.getName() + " " + profile1.getSername());
    }
    System.out.println(profiles.size());
    serData("profiles", profiles);
}
private static Objects deserData(String file_name) {
    Objects retObject = null;
    try {
        FileInputStream fileInputStream = new FileInputStream(file_name + ".ser");
        ObjectInputStream InputStream = new ObjectInputStream(fileInputStream);
        retObject = (Objects) InputStream.readObject();
        fileInputStream.close();
        InputStream.close();
    } catch (FileNotFoundException e) {
        System.out.println("No file");
        System.exit(1);
    } catch (IOException e) {
        System.out.println("Error");
        System.exit(2);
    } catch (ClassNotFoundException e) {
        System.out.println("Error Class");
        System.exit(3);
    }
    return retObject;
}
private static void serData(String file_name, ArrayList<Profile> obj) {
    try {
        FileOutputStream fileOutputStream = new FileOutputStream(file_name + ".ser");
        ObjectOutputStream outputStream = new ObjectOutputStream(fileOutputStream);
        outputStream.writeObject(obj);
        fileOutputStream.close();
        outputStream.close();
    } catch (FileNotFoundException e) {
        System.out.println("No file");
        System.exit(1);
    } catch (IOException e) {
        System.out.println("Error");
        System.exit(2);
    }
}

}

Class Profile

package Cirilizacion;
import java.io.Serializable;
import java.io.*;
import java.util.ArrayList;
import java.util.Objects;
import javax.swing.JOptionPane;
public class Profile implements Serializable {
private String name;
private String Sername;

public String getName() {
    return name;
}
public void setName(String name) {
    this.name = name;
}
public String getSername() {
    return Sername;
}
public void setSername(String sername) {
    Sername = sername;
}
}
Answer 1

Попробуйте так привести к нужному типу:

    import java.util.ArrayList;
    import java.util.Arrays;
    public class ArrayListTest {
        public static void main(String[] args) {
            ArrayList<String> strings = new ArrayList<String>() {{
                add("a");
                add("b");
            }};
            ArrayList<String> listFromObject = (ArrayList<String>) get(strings);
            System.out.println(Arrays.toString(listFromObject.toArray()));
        }
        private static Object get(ArrayList<String> list) {
            return list;
        }
    }

И нужно использовать Object, а не Objects.

READ ALSO
Как в цикле пройти по однотипным элементам?

Как в цикле пройти по однотипным элементам?

У меня элементов текстовое поле довольно много, к ним нужно применить одинаковые действия при нажатии на кнопку, называются они однотипно:...

86
Attempt to invoke virtual method &#39;int android.widget.TextView.length()&#39; on a null object reference

Attempt to invoke virtual method 'int android.widget.TextView.length()' on a null object reference

Вопрос такой , короче мне нужно сделать так чтобы в списке фотография показывала наличие ссылки в базеДелаю я таким образом , получаю данные...

135
Контекстное меню выделенного текста

Контекстное меню выделенного текста

Наткнулся на статью где рассказывалось про дополнительные пункты в контекстном меню при выделении текстаКод следующий

123