boolean (Object obj) { if (obj == this) return true; if (obj == null || obj.getClass() != this.getClass()) return false; var that = (R) obj; return this.a == that.a && this.b == that.b && Float.floatToIntBits(this.c) == Float.floatToIntBits(that.c) && Double.doubleToLongBits(this.d) == Double.doubleToLongBits(that.d) && Objects.equals(this.s, that.s); }