¿Cómo encuentro un valor de enumeración dados los argumentos que se proporcionaron a su constructor?

Tengo una clase de enumeración como esta:

public enum Position {
    A1(0,0),
    A2(1,0),
    //etc

    public final int dy, dx;

    private Position(int dy, int dx) {
        this.dy = dy;
        this.dx = dx;
    }
}

Ahora quiero un método: public static Position getPosition(int dx, int dy) ¿puedo regresar Position.A1o Position.A2con lo dado dxy dysin usar muchas estructuras if?

Respuesta 1

Quizás la forma más fácil (y en realidad relativamente rápida) de hacerlo es simplemente recorrer las enumeraciones:

public static Position getPosition(int dx, int dy) {
    for (Position position : values()) {
        if (position.dx == dx && position.dy == dy) {
            return position;
        }
    }
    return null;
}
Respuesta: 2

La ubicación del archivo de propiedades es WEB-INF / classes / auth.properties. No puedo usar formas específicas de JSF (con ExternalContext) porque necesito un archivo de propiedades en un módulo de servicio que no tiene una dependencia ...

¿Hay alguna manera de que pueda configurar tipos de nodo personalizados para que Apache Jackrabbit se registre cuando se crea una instancia de un nuevo repositorio? Estoy automatizando mi compilación usando Apache Maven y tengo alguna unidad ...

Estoy insertando un registro en MySql usando JOOQ, este es mi código if (f.getConnection ()! = Null) {UserRecord us = new UserRecord (); us.setAccountId (UInteger.valueOf (accountId)); us.setCode (...

Esta es mi solicitud SOAP <SOAP-ENV: Envelope xmlns: SOAP-ENV = "http://schemas.xmlsoap.org/soap/envelope/"> <SOAP-ENV: Header> <Security> <UsernameToken> ...