java中各种类型的默认值问题
📢📢📢📣📣📣
哈喽!大家好,我是「奇点」,江湖人称 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
?
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!