Java: How to make this Serializable?

22,874

Solution 1

Implementing Serializable will do the trick, but you must write the object with an ObjectOutputStream, not just an OutputStream.

Solution 2

You just need to inherit from java.io.Serializable:

public class XY implements Comparable<XY>, java.io.Serializable

Check more about serialization here.

Solution 3

Please see the SerializationUtils API provided by Apache Commons Lang.

This is much safer and more maintenance friendly. :)

Share:
22,874
Lucas Arrefelt
Author by

Lucas Arrefelt

Updated on July 12, 2022

Comments

  • Lucas Arrefelt
    Lucas Arrefelt almost 2 years

    I need the following class to be Serializable.

    package helpers;
    
    public class XY implements Comparable<XY>
    {
        public int x;
        public int y;
    
        public XY (int x, int y)
        {
            this.x = x;
            this.y = y;
        }
    
        public int compareTo( XY other ) 
        {
            String compare1 = this.x + "-" + this.y;
            String compare2 = other.x + "-" + other.y;
    
            return compare1.compareTo( compare2 );
        }
    
        public String toString()
        {
            return this.x + "-" + this.y;
        }
    
    }
    

    As of now, I can't send it as an object with outputstream..I´ve tried to implement Serializable, but that didn't work.