Home Java javaTutorial Java Tutorial—The Difference Between Int and Integer

Java Tutorial—The Difference Between Int and Integer

Dec 02, 2016 pm 04:22 PM
java

First let’s talk about the difference between int and Integer:

int is the basic data type, and Integer is the wrapper class of int. Note: The type of the latter is "class". For example, using generics, List numList;

int has an initial value of 0, and integer is null.

Look at the specific example below:

package syswar.cc;

public class IntegerCompare {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Integer a1 = 2;
        Integer a2 = 2;

        Integer b1 = 150;
        Integer b2 = 150;

        Integer c1 = new Integer(2);
        Integer c2 = new Integer(2);

        Integer d1 = new Integer(150);
        Integer d2 = new Integer(150);

        System.out.println("a1==a2?" + (a1==a2));
        System.out.println("b1==b2?" + (b1==b2));
        System.out.println("c1==c2?" + (c1==c2));
        System.out.println("d1==d2?" + (d1==d2));
    }

}

Running result:

a1==a2?true
b1==b2?false
c1==c2?false
d1==d2?false>

Why is this result? Let's first compare the two groups a and b. When Integer is initialized, Integer object data is cached. The int values ​​corresponding to these Integer objects are in the byte range, that is, [-128,127].

When assigning an int value directly to Integer, if the value range is [-128,127], Integer directly takes the Integer object from the cache. Therefore, when the directly assigned int value is in [-128,127], the Integer object is the same object. .

The Integer object obtained through the new method is an object allocated directly from the heap. Therefore, no matter what the specific int value is, the result of the == judgment is false


Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undress AI Tool

Undress AI Tool

Undress images for free

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

ArtGPT

ArtGPT

AI image generator for creative art from text prompts.

Stock Market GPT

Stock Market GPT

AI powered investment research for smarter decisions

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Hot Topics

How to add a JAR file to the classpath in Java? How to add a JAR file to the classpath in Java? Sep 21, 2025 am 05:09 AM

Use the -cp parameter to add the JAR to the classpath, so that the JVM can load its internal classes and resources, such as java-cplibrary.jarcom.example.Main, which supports multiple JARs separated by semicolons or colons, and can also be configured through CLASSPATH environment variables or MANIFEST.MF.

How to create a file in Java How to create a file in Java Sep 21, 2025 am 03:54 AM

UseFile.createNewFile()tocreateafileonlyifitdoesn’texist,avoidingoverwriting;2.PreferFiles.createFile()fromNIO.2formodern,safefilecreationthatfailsifthefileexists;3.UseFileWriterorPrintWriterwhencreatingandimmediatelywritingcontent,withFileWriterover

Why do real-time systems need deterministic response guarantees? Why do real-time systems need deterministic response guarantees? Sep 22, 2025 pm 04:03 PM

Real-time systems require deterministic responses, because correctness depends on the result delivery time; hard real-time systems require strict deadlines, missed will lead to disasters, while soft real-time allows occasional delays; non-deterministic factors such as scheduling, interrupts, caches, memory management, etc. affect timing; the construction plan includes the selection of RTOS, WCET analysis, resource management, hardware optimization and rigorous testing.

How to force scaling web pages by UC browser_UC browser's forced scaling web pages by UC browser How to force scaling web pages by UC browser_UC browser's forced scaling web pages by UC browser Sep 24, 2025 pm 04:54 PM

First, enable the built-in scaling function of UC browser, go to Settings → Browse Settings → Font and Typesetting or Page Scaling, and select a preset ratio or custom percentage; second, you can force the page display size by opening or pinching gestures with two fingers; for web pages that restrict scaling, you can request the desktop version of the website to unlock the restrictions; advanced users can also modify the viewport attributes by executing JavaScript code in the address bar to achieve a more flexible forced scaling effect.

How to get the calling method's name in Java? How to get the calling method's name in Java? Sep 24, 2025 am 06:41 AM

The answer is to use Thread.currentThread().getStackTrace() to get the call method name, and obtain the someMethod name of the call anotherMethod through index 2. Since index 0 is getStackTrace, 1 is the current method, and 2 is the caller, the example output is "Calledbymethod:someMethod", which can also be implemented by Throwable, but attention should be paid to performance, obfuscation, security and inline impact.

Microsoft Edge high CPU usage Microsoft Edge high CPU usage Sep 24, 2025 am 12:17 AM

Edge occupies a high CPU because of the high consumption of resources based on Chromium kernel, plus factors such as multi-tab pages, plug-in running, website scripts and rendering mechanisms; solutions include: 1. Close unnecessary extensions to reduce the burden on the background; 2. Enable the "Sleep Tag" function to reduce the use of idle tag resources; 3. Clean up the background process and close GPU rendering related settings; 4. Update the browser and system to ensure compatibility and performance optimization.

How do you handle exceptions in Java? How do you handle exceptions in Java? Sep 23, 2025 am 04:44 AM

Java exception handling catches exceptions through try-catch blocks, finally blocks ensure resource cleanup, try-with-resources automatically manage resources, throws declare exceptions, custom exceptions to deal with specific errors, and follows best practices such as catching specific exceptions, not ignoring exceptions, and avoiding empty catch blocks, thereby achieving robust and maintainable code.

How to use the Optional class to avoid NullPointerException in Java? How to use the Optional class to avoid NullPointerException in Java? Sep 25, 2025 am 06:04 AM

The Optional class is used to safely handle values ​​that may be null, avoiding null pointer exceptions. 1. Create an instance using Optional.ofNullable to handle null values. 2. Check and access values ​​through isPresent or ifPresent security to avoid direct call to get to cause exceptions. 3. Use orElse and orElseGet to provide default values, or use orElseThrow to throw a custom exception. 4. Convert or filter values ​​through map and filter chain operations to improve code readability and robustness.

See all articles