java中各种类型的默认值问题

发布时间:2023年12月17日

📢📢📢📣📣📣
哈喽!大家好,我是「奇点」,江湖人称 singularity。刚工作几年,想和大家一同进步🤝🤝
一位上进心十足的【Java ToB端大厂领域博主】!😜😜😜
喜欢java和python,平时比较懒,能用程序解决的坚决不手动解决😜😜😜

? 如果有对【java】感兴趣的【小可爱】,欢迎关注我

??????感谢各位大可爱小可爱!??????
————————————————

如果觉得本文对你有帮助,欢迎点赞,欢迎关注我,如果有补充欢迎评论交流,我将努力创作更多更好的文章。
————————————————
?

Java中boolean(原始)和boolean(原始包装器)的默认值是什么?

Boolean(对象)的默认值为null。

Boolean(原始)的默认值为false。

请添加官方源链接

任何Object(例如Boolean)的默认值为null。

Boolean的默认值为false。

注意:每个原语都有一个包装器类。每个包装器都使用默认值为null的引用。基元具有不同的默认值:

boolean -> false

byte, char, short, int, float -> 0

float, double -> 0.0

注意(2):void具有包装器void,该包装器也具有默认值null,并且它是唯一可能的值(不使用hack)。

我认为可以提到Boolean是Object,这会使第一行的含义显而易见。这听起来很基础,但是对于有人问这样的基本问题可能会有所帮助。

布尔值

可以是true或false。

默认值为false。

(来源:Java基本变量)

布尔型

可以是表示true或false的Boolean对象,也可以是null。

默认值为null。

如果需要询问,则需要显式初始化字段/变量,因为如果必须查找它,那么其他人也可能需要这样做。

如此处所示,原始Boolean的值为false。

正如其他人所提到的,Boolean的值默认情况下为空。

?

package com.first.test;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class Test21 {
    
    //静态变量只能定义在类中,作为全局变量进行使用,不能够定义在某一个方法中,用作局部变量进行使用
    //基本数据类型
    static boolean bool;
    static int     i;
    static short   s;
    static long    l;
    static String  str;
    //static char    c;
    static float   f;
    static double  d;
    
    //集合
    static List<Map<String, Object>> list01;
    static Map<String, Object> map02;
    static List<Map<String, Object>> list03 = new ArrayList<>();
    static Map<String, Object> map03 = new HashMap<>();
    
    //各种基本数据类型的数组
    static int[] intArray;
    static int[] intArrayObject = new int[5] ;
    static double[] doubleArray;
    static String[] stringArray;
    static float[]  floatArray;
    
    //对象
    static One one;
    
    //包装类用作数据类型
    static Integer inte;
    static Double  dou;
    static Boolean boole;
    

    public static void main(String[] args) {
        System.out.println("布尔类型的默认值为: " + bool);
        System.out.println("整形的默认值为: " + i);
        System.out.println("短整型的默认值为: " + s);
        System.out.println("长整形的默认值为: " + l);
        System.out.println("String类型的默认值为: " + str);
        //System.out.println("char类型的默认值为: " + c);
        System.out.println("float类型的默认值为: " + f);
        System.out.println("double类型的默认值为: " + d);
        System.out.println("List变量类型的默认值为: " + list01);
        System.out.println("Map变量类型的默认值为: " + map02);
        System.out.println("List集合对象类型的默认值为: " + list03);
        System.out.println("Map集合对象类型的默认值为: " + map03);
        System.out.println("整形数组类型的默认值为: " + intArray);
        System.out.println("整形数组对象的默认值为: " + intArrayObject);
        System.out.println("Double型数组类型的默认值为: " + doubleArray);
        System.out.println("String型数组类型的默认值为: " + stringArray);
        System.out.println("float型数组类型的默认值为: " + floatArray);
        System.out.println("对象类型的默认值为: " + one);
        System.out.println("Integer包装类的默认值为: " + inte);
        System.out.println("Double包装类的默认值为: " + dou);
        System.out.println("Boolean包装类的默认值为: " + boole);
    }//main()方法结束的标志
}//Test21这个类结束的标志


class One{
    
}
 


运行结果如下:

? ? ? ? 布尔类型的默认值为: false

? ? ? ? 整形的默认值为: 0

? ? ? ? 短整型的默认值为: 0

? ? ? ? 长整形的默认值为: 0

? ? ? ? String类型的默认值为: null

? ? ? ? float类型的默认值为: 0.0

? ? ? ? double类型的默认值为: 0.0

? ? ? ? List变量类型的默认值为: null

? ? ? ?Map变量类型的默认值为: null

? ? ? ? List集合对象类型的默认值为: []

? ? ? ? Map集合对象类型的默认值为: {}

? ? ? ? 整形数组类型的默认值为: null

? ? ? ? 整形数组对象的默认值为: [I@15db9742

? ? ? ? Double型数组类型的默认值为: null

? ? ? ? String型数组类型的默认值为: null

? ? ? ? float型数组类型的默认值为: null

? ? ? ?对象类型的默认值为: null

? ? ? ?Integer包装类的默认值为: null

? ? ? ?Double包装类的默认值为: null

? ? ? ?Boolean包装类的默认值为: null

?

文章来源:https://blog.csdn.net/qq_29235677/article/details/135049424
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。