Maison > Java > Dans le code source du JDK 1.8, pourquoi A-B>0 est-il utilisé pour déterminer lequel est le plus grand au lieu de A>B ?

Dans le code source du JDK 1.8, pourquoi A-B>0 est-il utilisé pour déterminer lequel est le plus grand au lieu de A>B ?

WBOY
Libérer: 2024-02-06 11:36:03
avant
1158 Les gens l'ont consulté
Contenu de la question

En tant que débutant, j'ai récemment lu le code source de jdk1.8. La question que je me pose est la suivante : pourquoi a-b> 0 est-il utilisé pour déterminer lequel est le plus grand, plutôt que a>

Le code suivant est dans java/util/arraylist.java:236

private void ensureExplicitCapacity(int minCapacity) {
    modCount++;

    // overflow-conscious code
    if (minCapacity - elementData.length > 0)
        grow(minCapacity);
}
Copier après la connexion

Je ne comprends pas le code de mincapacity - elementdata.length > 0. Pourquoi ne pas utiliser mincapacity >


Bonne réponse


Probablement pour éviter une capacité minimale débordement, veuillez vérifier l'exemple suivant :

public static void main(String[] args) {
    int elementDataLength = 10;
    int minCapacity = Integer.MAX_VALUE; // very big

    minCapacity += 1; // accidentally overflow it

    if (minCapacity > elementDataLength) {
        System.out.println("Will not work: minCapacity=-2147483647 elementDataLength=10");
    }
    if (minCapacity - elementDataLength > 0) {
        System.out.println("Will work: minCapacity - elementDataLength = 2147483638");
    }
}
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:stackoverflow.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal