Usar iguales para verificar matrices de objetos

Primero tengo dos objetos creados así ...

Recipe recipeOne = new Recipe("Pepperoni Pizza");

    Ingredient one = new Ingredient("Dough", 1, UnitOfMeasurement.valueOf("Pounds"));
    Ingredient two = new Ingredient("Sauce", 8, UnitOfMeasurement.valueOf("Ounces"));
    Ingredient three = new Ingredient("Cheese", 10, UnitOfMeasurement.valueOf("Ounces"));

    recipeOne.addIngredient(one);
    recipeOne.addIngredient(two);
    recipeOne.addIngredient(three);

    RecipeBook.addRecipe(recipeOne);

    Recipe recipeTwo = (Recipe) recipeOne.clone();
    recipeTwo.addIngredient(recipeOne.Ingredients[0]);
    recipeTwo.addIngredient(recipeOne.Ingredients[1]);
    recipeTwo.addIngredient(recipeOne.Ingredients[2]);

    RecipeBook.addRecipe(recipeTwo);

    recipeTwo.setName("Pineapple Pizza");

No hay sorpresas aquí, todo lo que está pasando es obvio, ¡pero luego quiero verificar si hay igualdad! Y estoy buscando verificar todos sus elementos obviamente para ver si son realmente iguales o no. Entonces llamo a "System.out.println (cipeOne.equals (cipeTwo));" que irá aquí ...

public boolean equals(Object obj){

    if(obj instanceof Recipe){

        Recipe tempRec = (Recipe) obj;

        for(int j = 0 ; j < Ingredients.length ; j++){

            if(Ingredients[j].equals(tempRec.Ingredients[j]) == true){

                return true;

            }

        }

    }

    return false;

}

Ahora sé que está incompleto y solo verificará el primer ingrediente en la receta Uno, que es "Ingredientes []" y el primer ingrediente en la receta Dos, la copia, "tempRec.Ingredients []". Ahora mi pregunta es, ¿cómo verifico el resto de las ubicaciones y me aseguro de que todas sean iguales antes de enviar el "acuerdo de igualdad"? ¿Hay alguna manera de volver al ciclo for y verificar el siguiente lugar, tal vez almacenar todas las pistas y luego cuando estén resueltas y finalmente devuelvan verdad? Prefiero no escribir 10 si las declaraciones verifican todas las ubicaciones para ver si son nulas o no y luego verifican si los ingredientes son iguales jajaja

(Casi olvido mi Ingredient.equals (), aquí es para referencia, ¡pero funciona bien!)

public boolean equals(Object obj){

    if(obj instanceof Ingredient){

        Ingredient tempIngred = (Ingredient) obj;

        if(Name.equals(tempIngred.getName()) && Quantity == (tempIngred.getQuantity()) &&
                unitOfMeasurement.equals(tempIngred.getUnit()))
                return true;

    }

    return false;   

}
Respuesta 1

Voy a acceder a la cámara web en SWT, pero en Java necesita usar JMF para reproducir video, música o abrir webcame, pero estos se pueden agregar en el componente swing, ¿hay alguna forma de reproducir video con SWT sin JMF? ...

Estoy tratando de leer un archivo de Parquet local, sin embargo, las únicas API que puedo encontrar están estrechamente relacionadas con Hadoop y requieren una ruta de Hadoop como entrada (incluso para señalar un archivo local). Esto ha sido preguntado ...

Estoy usando JAI para cargar formatos de imagen que no son compatibles con ImageIO (por ejemplo, CUR, TIFF, etc.). Nunca he intentado con JIMI, porque parece usar nativos (y no debería usar JNI-based ...

Parece que no puedo entender por qué el elemento de la fila de mi lista no cambia de color: / ** Rellena las vistas en act_alliances.xml con datos de la base de datos * / private void loadAllianceData () {TblAlliances ...