Cómo evitar el código duplicado con 2 clases con los mismos métodos pero sin interfaz común

Puede crear una Wrapperclase que pueda aceptar PaymentChangeMaintenanceFieldsV214Type o PaymentChangeMaintenanceCommonFieldsV214Type(o Ay Ben el código de prueba aquí), y delegue sus llamadas a los objetos subyacentes.
Cada vez que recibe una instancia de Ao Bconstruye una instancia de a Wrappery la usa.
De esta manera, la duplicación de código se limita a Wrapper:

import java.util.Random;

public class Main {

    private final Random rand = new Random();

    public static void main(final String[] args) {
        new Main().test();
    }

    void test(){
        for (int i = 0; i < 10 ; i++){
            Object obj = getData();          //obj can be either A or B
            Wrapper w = new Wrapper(obj);    //construct a Wrapper 
            System.out.println(w.getName()); //use it 
        }
    }

    Object getData(){  //generate objects for testing 
        return rand.nextBoolean() ? new A() : new B(); // returns A half the times
    }
}

class Wrapper {

    Object obj;
    Wrapper(Object obj){ //throw an exception if obj is not an A or B 
        this.obj = obj;
    }

    String getName(){
        return obj instanceof A ? ((A)obj).getName() : ((B)obj).getName() ;
    }
}

//two classes implementing the same method without having a common interface 
class A {

    String getName() { return getClass().getSimpleName(); }
}

class B {

    String getName() { return getClass().getSimpleName(); }
}

Al crear un contenedor apropiado, puede hacer que su método acepte ambos tipos cambiando una línea:

 MyWrapper recentPcmFieldType = new MyWrapper(getData());
Respuesta 1

Al intentar implementar una aplicación springboot en un tomcat externo, no puedo implementarlo. En el pom.xml, si excluyo la dependencia de tomcat, entonces no estoy enfrentando un error de tiempo de compilación. Desde que he usado ...

Tengo un método que intento llamar dinámicamente. Ese método tiene un argumento 'stringValue'. El método que estoy tratando de invocar es en la clase padre (receptores ??). No puedo entender cómo llegar ...

Estoy intentando que la autenticación SSL bidireccional funcione para un cliente de servicio web JAX-WS en Google App Engine. Estoy relativamente seguro de que puedo configurar la clave privada del cliente enviando a un BindingProvider ...

Tengo el siguiente código: public List <String> myMethod () {.. ...... Map <String, Module> m1 = new HashMap <> (); Map <String, Module> m2 = new HashMap <> (...