Saltar al contenido

¿Asignar variable en Java while-loop condicional?

Este dilema se puede resolver de variadas maneras, sin embargo te compartimos la solución más completa en nuestra opinión.

Solución:

Necesitamos ver más de su código, pero adivinando un poco, creo que algo como esto funcionaría:

ReturnMessage returned;
while (!(returned = myObject.myMethod()).finished) 


if (!returned.finished) 


Un bucle while verifica un condicional. Aquí hay otro ejemplo que puede ser útil:

public class test 
    public static void main(String[] args) 
        String line;
        while((line = readFromFile())!=null)
//do something with var 'line'
            System.out.println(line);
            break;
        
    

    static String readFromFile()
       return "test string";
    

Si bien es aceptable en PHP, supongo (no codifico en PHP), se considera una forma extremadamente mala para hacer una tarea dentro de un condicional en Java. (Esto se debe a que es propenso a errores y muy difícil de detectar, la diferencia está entre = y == en medio de una gran cantidad de código. Esta fue una elección deliberada basada en años de experiencia con C y C++).

Tal como está, no puedo seguir tu código. Dices “returnMessage tiene 2 booleanos y una cadena”, pero la prueba, según tengo entendido en PHP, es myObject->myMethod()->finished != null y returned se establece en el valor de finishedpero luego vas y pruebas $returned -> finished que es lo mismo que myObject->myMethod()->finished->finished. Lo siento si no entiendo bien la sintaxis de PHP.

La recomendación general en Java sería más similar a:

ReturnMessage returned = myObject.myMethod().getFinished();
while (returned != null)  

    ...

    returned = myObject.myMethod().getFinished(); // or did you mean myObject.myMethod();   


if (!returned.finished)  // or, better: if (!returned.isFinished())
    ...

Si entendí mal el PHP, házmelo saber y arreglaré el código Java para que coincida.

Finalizando este artículo puedes encontrar las observaciones de otros programadores, tú todavía eres capaz insertar el tuyo si te gusta.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *