public class DataClass {
    public final var STRING_CONSTANT: java.lang.String = "ABC"
    private final var firstName: java.lang.String
    private final var lastName: java.lang.String
    private final var age: java.lang.String
    public fun DataClass(firstName: java.lang.String, lastName: java.lang.String, age: java.lang.String) {
        this.firstName = firstName
        this.lastName = lastName
        this.age = age
    }
    @java.lang.Override
    public fun toString() : java.lang.String {
        return "DataClass{" + "STRING_CONSTANT='" + STRING_CONSTANT + ''' + ", firstName='" + firstName + ''' + ", lastName='" + lastName + ''' + ", age='" + age + ''' + '}'
    }
    @java.lang.Override
    public fun equals(o: java.lang.Object) : boolean {
        if (this === o) return true
        if (o === null || getClass() !== o.getClass()) return false
        var dataClass: DataClass = o as DataClass
        if ((STRING_CONSTANT !== null) ? (!STRING_CONSTANT.equals(dataClass.STRING_CONSTANT)) : (dataClass.STRING_CONSTANT !== null)) return false
        if ((firstName !== null) ? (!firstName.equals(dataClass.firstName)) : (dataClass.firstName !== null)) return false
        if ((lastName !== null) ? (!lastName.equals(dataClass.lastName)) : (dataClass.lastName !== null)) return false
        return (age !== null) ? (age.equals(dataClass.age)) : (dataClass.age === null)
    }
    @java.lang.Override
    public fun hashCode() : int {
        var result: int = (STRING_CONSTANT !== null) ? (STRING_CONSTANT.hashCode()) : (0)
        result = 31 * result + ((firstName !== null) ? (firstName.hashCode()) : (0))
        result = 31 * result + ((lastName !== null) ? (lastName.hashCode()) : (0))
        result = 31 * result + ((age !== null) ? (age.hashCode()) : (0))
        return result
    }
}
