• [^] # Re: Inférence de types

    Posté par . En réponse à la dépêche Sortie de JDK 10. Évalué à 7.

    var count = getNextValue();

    et peut être même l'incrémenter quelques lignes plus bas.
    Et comment tu vas être sûr que tu ne risque pas te faire un overflow?
    count c'est un "int", un "long" ? Ah, non pas de bol, il est lu d'un stream octet par octet, c'est un "byte".

    Sur un langage moderne (j'imagine que Java a maintenant l'équivalent), on peut manipuler sans soucis le type d'une variable au type inféré:

     auto counter=getNextValue();
     if ( counter == numeric_limits<decltype(counter)>::max() )
     throw overflow_error("counter too big");
     ++counter;

    Intérêt: on devient insensible à une évolution de l'API de getNextValue(), par exemple si le type de retour passe de "int" à "long"...