What are the differences between java integer and int?
Basics:
1. Int is a basic data type of java, and integer is a type of int Encapsulation class.
2. Integer variables must be instantiated before they can be used, but int variables do not.
3. Integer is actually a reference to an object. When new an integer object, a pointer is actually generated pointing to the object; while int directly stores data values.
4. The default value of Integer is null, and the default value of int is 0.
Extension:
1. Because the integer variable is actually a reference to the integer object, the two integer variables passed through new will never be equal (because the integer variable generated by new are two objects with different memory addresses).
Integer i = new Integer(100); Integer j = new Integer(100); System.out.print(i == j);//false
2. When an integer variable is compared with an int variable, as long as the values of the two variables are equal, the result is true, because integer is essentially a wrapper class of int. When two numbers are compared, java The integer will be automatically unpacked, so it is essentially a comparison of two int variables.
Integer i = new Integer(100); int j = 100; System.out.print(i == j);//true
3. When an Integer variable created by new is compared with an Integer variable not created by new, the result is false. Because variables created without new exist in the Java constant pool, and variables created with new point to newly created objects in the heap, the memory addresses of the two are different.
Integer i = new Integer(100); Integer j = 100; System.out.print(i == j);//false
4. When comparing two non-new Integer variables, if the values of the two variables are between -128 and 127, then the result is true, otherwise it is false.
For this strange result, java's explanation is as follows:
Integer i = new Integer(100);//在编译时会变成Integer i = Integer.ValueOf(100)
And the definition of Integer.valueOf() in the java API is as follows:
public static Integer valueOf(int i){ assert IntegerCache.high >= 127; if (i >= IntegerCache.low && i <= IntegerCache.high){ return IntegerCache.cache[i + (-IntegerCache.low)]; } return new Integer(i); }
That is, for Java will cache the number between -128~127, and the next time you assign a value to an Integer variable, if it is between -128~127 and has been cached, it will be called directly from the cache.
PHP Chinese website has a large number of free JAVA introductory tutorials, everyone is welcome to learn!
The above is the detailed content of What are the differences between java integer and int?. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics











Created by Ripple, Ripple is used for cross-border payments, which are fast and low-cost and suitable for small transaction payments. After registering a wallet and exchange, purchase and storage can be made.

AI can help optimize the use of Composer. Specific methods include: 1. Dependency management optimization: AI analyzes dependencies, recommends the best version combination, and reduces conflicts. 2. Automated code generation: AI generates composer.json files that conform to best practices. 3. Improve code quality: AI detects potential problems, provides optimization suggestions, and improves code quality. These methods are implemented through machine learning and natural language processing technologies to help developers improve efficiency and code quality.

Java's platform independence means that the code written can run on any platform with JVM installed without modification. 1) Java source code is compiled into bytecode, 2) Bytecode is interpreted and executed by the JVM, 3) The JVM provides memory management and garbage collection functions to ensure that the program runs on different operating systems.

The main differences between Laravel and Yii are design concepts, functional characteristics and usage scenarios. 1.Laravel focuses on the simplicity and pleasure of development, and provides rich functions such as EloquentORM and Artisan tools, suitable for rapid development and beginners. 2.Yii emphasizes performance and efficiency, is suitable for high-load applications, and provides efficient ActiveRecord and cache systems, but has a steep learning curve.

HTML5 brings five key improvements: 1. Semantic tags improve code clarity and SEO effects; 2. Multimedia support simplifies video and audio embedding; 3. Form enhancement simplifies verification; 4. Offline and local storage improves user experience; 5. Canvas and graphics functions enhance the visualization of web pages.

MySQL functions can be used for data processing and calculation. 1. Basic usage includes string processing, date calculation and mathematical operations. 2. Advanced usage involves combining multiple functions to implement complex operations. 3. Performance optimization requires avoiding the use of functions in the WHERE clause and using GROUPBY and temporary tables.

The difference between decentralized exchanges and hybrid exchanges is mainly reflected in: 1. Trading mechanism: Decentralized exchanges use smart contracts to match transactions, while hybrid exchanges combine centralized and decentralized mechanisms. 2. Asset control: Decentralized exchange users control assets, and mixed exchange ownership centralization and decentralization. 3. Privacy protection: Decentralized exchanges provide high anonymity, and hybrid exchanges require KYC in centralized mode. 4. Trading speed and liquidity: Decentralized exchanges are slower, liquidity depends on user pool, and hybrid exchanges are more fast and liquid in centralized mode. 5. Platform governance: Decentralized exchanges are governed by community governance, and hybrid exchanges are jointly governed by communities and centralized teams.

Neither Huoxin nor OKX Pay directly supports fiat currency payment. Huoxin is mainly used for digital asset management and transactions, and users need to exchange fiat currency through the Huobi Exchange; OKX Pay focuses on digital asset payment and transfer, and users need to exchange fiat currency through the OKX platform.
