当前位置:首页 > JAVA教程 > 正文内容

java推断对象是不是是null的要领【JAVA教程】,java,对象

搜教程4年前 (2019-12-24)JAVA教程153

Java 言语支撑两种数据类型,分别是基础数据类型和援用数据类型,而 null 是一种特别的援用数据类型。

推断一个对象是不是为 null,可以用if (obj == null) { }来推断。代码以下:

// 推断对象是不是为null
if (str1 != null) {
    int len = str1.length();
}

如果把上面代码改成以下代码:

String str2 = "";
int num = str2.length();
System.out.println(num);    // 输出效果为0

运转以上代码时没有抛出非常,由于 str2 是一个值为""的字符串对象。""示意的是一个长度为 0 的空字符串,它在内存中会被分派一个空间,str2 是直接指向""内存空间的实例化对象。

发作空对象主要有以下两种可能性:

1、程序员本身忘记了实例化,所以程序员必需防备这类状况发作,应当仔细检查本身的代码,为本身建立的一切对象举行实例化并初始化。

2、空对象是别的处所通报过来的,须要经由过程推断对象是不是为 null 举行防止。

更多java学问请关注java基础教程栏目。

以上就是java推断对象是不是是null的要领的细致内容,更多请关注ki4网别的相干文章!

扫描二维码推送至手机访问。

版权声明:本文由搜教程网发布,如需转载请注明出处。

本文链接:https://www.sojiaocheng.cn/16674.html

标签: java对象
分享给朋友:

“java推断对象是不是是null的要领【JAVA教程】,java,对象” 的相关文章

Java中Thread.start()和Thread.run()之间的区分【JAVA教程】,Java,start(),run()

Java中Thread.start()和Thread.run()之间的区分【JAVA教程】,Java,start(),run()

在Java的多线程观点中,start()和run()是两个最主要的要领。那末它们之间的区分是什么?下面本篇文章就来带人人认识一下start()和run()要领,引见它们之间的区分,愿望对人人有所协助。 Java中的start()要领 线程类的start()要领能够用来启动线程;该要领会在...

JSP与Servlet之间的区分【JAVA教程】,JSP,Servlet,java

JSP与Servlet之间的区分【JAVA教程】,JSP,Servlet,java

Servlet和JSP是两种最盛行的Java Web手艺,它们在Java Web应用顺序中生成动态内容。那末它们之间有什么区分?下面本篇文章就来带人人认识一下JSP与Servlet,简朴引见一下它们之间的区分,愿望对人人有所协助。【视频教程引荐:Java教程】 JSP是什么? JSP是一...

Java多线程之Callable和Future的细致引见(代码示例)【JAVA教程】,多线程,java

本篇文章给人人带来的内容是关于Java多线程之Callable和Future的细致引见(代码示例),有一定的参考价值,有须要的朋侪可以参考一下,愿望对你有所协助。 Callable和Future涌现的缘由 建立线程的2种体式格局,一种是直接继续Thread,别的一种就是完成Runnable接口。...

jdbc链接数据库的教程(代码示例)【JAVA教程】,jdbc

本篇文章给人人带来的内容是关于jdbc链接数据库的教程(代码示例),有须要的朋侪能够参考一下,愿望对你有所协助。 JDBC简介 JDBC全称为:Java Data Base Connectivity (java数据库衔接),能够为多种数据库供应填一致的接见。JDBC是sun开辟的一套数据库接...

Java中静态分配和动态分配的引见(代码示例)【JAVA教程】,Java

Java中静态分配和动态分配的引见(代码示例)【JAVA教程】,Java

本篇文章给人人带来的内容是关于Java中静态分配和动态分配的引见(代码示例),有一定的参考价值,有须要的朋侪能够参考一下,愿望对你有所协助。 近来温习JVM的学问,关于静态分配和动态分配的明白有点杂沓,因而本身尝试写写代码,在剖析中稳固学问。 有以下一段代码,叨教每一段离别输出什么? pa...

java紧缩多个文件的要领引见(代码示例)【JAVA教程】,java

本篇文章给人人带来的内容是关于java紧缩多个文件的要领引见(代码示例),有肯定的参考价值,有须要的朋侪能够参考一下,愿望对你有所协助。 起首建立一个东西类,定义好接口,这里的参数1:fileList:多个文件的path+name2: zipFileName:紧缩后的文件名 下面是代码,解释...