Home > Java > Javagetting Started > body text

Is null an object in java?

王林
Release: 2019-11-25 10:47:28
Original
3676 people have browsed it

Is null an object in java?

1. Null represents an uncertain object

In Java, null is a keyword used to identify an uncertain object. Therefore, null can be assigned to a reference type variable, but null cannot be assigned to a basic type variable.

For example: int a = null; is wrong. Object o = null is correct.

In Java, the application of variables follows one principle: they must be defined first and initialized before they can be used. We cannot print the value of a after int a without assigning a value to a. This pair also applies to reference type variables.

Sometimes, when we define a reference type variable, we cannot give a definite value at the beginning, but if the value is not specified, the program may initialize the value in the try statement block. At this time, an error will be reported when we use the variable below. At this time, you can first assign a null value to the variable and the problem will be solved. For example:

Connection conn = null
    try {
        conn = DriverManager.getConnection("url", "user", "password");
        } catch (SQLException e) {
          e.printStackTrace();
  }
    String catalog = conn.getCatalog();
Copy after login

If conn = null is not specified at the beginning, an error will be reported in the last sentence.

java learning video recommendation: java introductory learning

2. null itself is not an object, nor is it an instance of Object

Although null itself can represent an An undefined object, but as far as null itself is concerned, it is not an object, and it does not know what type it is, nor is it an instance of java.lang.Object.

You can make a simple example:

//null是对象吗? 属于Object类型吗?
if (null instanceof java.lang.Object) {
    System.out.println("null属于java.lang.Object类型");
} else {
    System.out.println("null不属于java.lang.Object类型");
  }
Copy after login

The result will be output: null does not belong to the java.lang.Object type

3. Java assigns values ​​to variables by default

When defining a variable, if the variable is not assigned a value after definition, Java will automatically assign a value to the variable at runtime. The assignment principle is that integer types int, byte, short, and long are automatically assigned a value of 0, float and double with decimal points are automatically assigned a value of 0.0, boolean is automatically assigned a value of false, and other reference type variables are automatically assigned a value of null.

4. Container type and null

List: Duplicate elements are allowed and any number of nulls can be added.

Set: Duplicate elements are not allowed, and up to one null can be added.

Map: At most one null can be added to the Map key, and there is no limit on the value field.

Array: Basic type array. After definition, if the initial value is not given, the value will be automatically given when the Java runtime is used. For a reference type array, if no initial value is given, all element values ​​will be null.

5. Other functions of null

1. Determine whether a reference type data is null. Use == to judge.

2. Release the memory and let a non-null reference type variable point to null. This object is no longer used by any object. Wait for the JVM garbage collection mechanism to recycle.

More related article recommendations: Java language introduction

The above is the detailed content of Is null an object in java?. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!