javaifnull
⑴ java空字符串与null的区别和判断字符串是否为空的方法
虽然都是没有信息,但是null代表堆内存中根本没有这个东西,而空字符串就完全不同了,空字符串也是字符串,他是有内存空间的
判断字符串是否为空
/**
*判断字符串是否为空
*@paramstr字符串
*@return是否为空
*/
(Stringstr){
returnstr==null||str.trim().length()==0;
}
⑵ java判断数值是否为null
public boolean checkObjFieldIsNull(Object obj) throws IllegalAccessException {
boolean flag = false;
for(Field f : obj.getClass().getDeclaredFields()){
f.setAccessible(true);
log.info(f.getName());
if(f.get(obj) == null){
flag = true;
return flag;
}
}
return flag;
}
⑶ java中如何判断一个数组中的值全为null
inta=0;然后在for循环里面判断,如果file2[i]!=null的话,a=a+1;这样的话,如果file2全为null的话,a就是0.直接判断a的值就可以了
⑷ java 字符串为null 如何判断
定义 String str;
判断字符串是否空涉及两个层次:
1、是首先判断字符串变量的引用是否为空,即空对象的概念,用null来判断,可以用if(str==null) 判断 str是否为空;(注意不能用equals(null),在参数为null情况下,返回值永远是false);
2、是在不为空对象的情况下,在判断字符串对象是否为空串,即长度为0.用length()==0。 关键是搞清楚字符串对象为空和空字符串有区别。
拓展内容
Java空字符串与null的区别:
1、类型
null表示的是一个对象的值,而并不是一个字符串。例如声明一个对象的引用,String a = null ;
""表示的是一个空字符串,也就是说它的长度为0。例如声明一个字符串String str = "" ;
2、内存分配
String str = null ; 表示声明一个字符串对象的引用,但指向为null,也就是说还没有指向任何的内存空间;
String str = ""; 表示声明一个字符串类型的引用,其值为""空字符串,这个str引用指向的是空字符串的内存空间;
在java中变量和引用变量是存在栈中(stack),而对象(new产生的)都是存放在堆中(heap)。
如下:
String str = new String("abc") ;
⑸ java中null 代表着什么意思的关键字
一、null是代表不确定的对象
Java中,null是一个关键字,用来标识一个不确定的对象。因此可以将null赋给引用类型变量,但不可以将null赋给基本类型变量。
比如:int a = null;是错误的。Ojbect o = null是正确的。
Java中,变量的适用都遵循一个原则,先定义,并且初始化后,才可以使用。我们不能int a后,不给a指定值,就去打印a的值。这条对对于引用类型变量也是适用的。
有时候,我们定义一个引用类型变量,在刚开始的时候,无法给出一个确定的值,但是不指定值,程序可能会在try语句块中初始化值。这时候,我们下面使用变量的时候就会报错。这时候,可以先给变量指定一个null值,问题就解决了。例如:
Connection conn = null;
try {
conn = DriverManager.getConnection("url", "user", "password");
} catch (SQLException e) {
e.printStackTrace();
}
String catalog = conn.getCatalog();
如果刚开始的时候不指定conn = null,则最后一句就会报错。
二、null本身不是对象,也不是Objcet的实例
null本身虽然能代表一个不确定的对象,但就null本身来说,它不是对象,也不知道什么类型,也不是java.lang.Object的实例。
可以做一个简单的例子:
//null是对象吗? 属于Object类型吗?
if (null instanceof java.lang.Object) {
System.out.println("null属于java.lang.Object类型");
} else {
System.out.println("null不属于java.lang.Object类型");
}
结果会输出:null不属于java.lang.Object类型
三、Java默认给变量赋值
在定义变量的时候,如果定义后没有给变量赋值,则Java在运行时会自动给变量赋值。赋值原则是整数类型int、byte、short、long的自动赋值为0,带小数点的float、double自动赋值为0.0,boolean的自动赋值为false,其他各供引用类型变量自动赋值为null。
这个具体可以通过调试来看。
四、容器类型与null
List:允许重复元素,可以加入任意多个null。
Set:不允许重复元素,最多可以加入一个null。
Map:Map的key最多可以加入一个null,value字段没有限制。
数组:基本类型数组,定义后,如果不给定初始值,则java运行时会自动给定值。引用类型数组,不给定初始值,则所有的元素值为null。
五、null的其他作用
1、判断一个引用类型数据是否null。 用==来判断。
2、释放内存,让一个非null的引用类型变量指向null。这样这个对象就不再被任何对象应用了。等待JVM垃圾回收机制去回收。
⑹ java 判断null
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
class Mdialog extends JFrame implements ActionListener {
JLabel jlb = new JLabel("计算 1+2+3+......+n的和");
int number, result;
Mdialog()
{
super("演示输入对话框");
setSize(150, 150);
Container con = getContentPane();
con.setLayout(new BorderLayout());
JButton jbtn = new JButton("从对话框输入数n");
con.add(jbtn, BorderLayout.NORTH);
con.add(jlb, BorderLayout.CENTER);
jbtn.addActionListener(this);
validate();
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
public void actionPerformed(ActionEvent e) {
String msg = " 请输入n的值:";
String text = "100";
try{
String temp = JOptionPane.showInputDialog(null,msg,text);
number = Integer.parseInt(temp);
}catch(Exception e1){
number = 0;
}
this.getProcess();
}
public void getProcess(){
String temp="";
for (int i =1;i<=number;i++){
result += i;
}
if(number<5){
temp += 0;
for(int i=1;i<=number;i++){
temp += "+"+i;
}
temp += "="+result;
jlb.setText(temp);
}else{
temp = "1+2+3...+"+number+"="+result;
jlb.setText(temp);
}
number=result=0;
}
}
public class Testing {
public static void main(String[] args) {
new Mdialog();
}
}
...你有的格式不是很好还有貌似方法用的太麻烦了
第一你的setVisible(true);要放到最后等所有设置结束以后
第二设置了太多无所谓的变量有很多用过就扔的不要设置为全局变量
第三String.valueOf(s)这个valueOf的用法有点多余你要想一个int变成String只要""+这个数字就可以了
第四你之所以会报错是因为你没有处理Exception你点取消的话就返回空了
你不处理的话当然会报错而且你没有处理如果输入的不是数字呢。。要用
try和catch语句去处理我统一处理为number为0了
第五变量名不好要取一些有意思的变量名你现在写的是小程序你看的懂你要是写大程序你用什么ss,sb,s,n,s什么的你自己会头晕的
第六class名守字母一定要大写。。你的mdialog没大写
第七要活用方法
暂时说这么多了。。。
⑺ Java中if (thread != null)是什么意思。是判断线程不为空
你好!
仅从这一句来看,从JAVA的语法解释是
thread作为一个引用变量不为空
并不一定代表thread的类型就是一个线程对象
要看你前面的代码
如有疑问,请追问。
⑻ java里,判断一个对象是否是null,怎么判断
boolean b = null instanceof Object;
java中的类都是Object的子类,如果不是null的话上面的句子肯定是true
不过谁要这么写肯定会被boss骂
⑼ java怎么判断数组里面是NULL
如果判断数组是否为NULL,就直接判断 if(array == null){ }
循环遍历每个数组元素,然后判断每个元素是不是NULL,前提是数组元素为对象,而不是基础数据类型。
for(int i =0;i<array.length();i++){
if(array[i] == NULL){
}
}
⑽ java中: if(user == null) 和 if(null == user)有什么区别,谁能详细解答下
作为判断都一样,但作为语法的话,建议用null!=User或null==User,这样做的话如果我们少打了一个=号,系统就会报错,如果在判断在写成User=null,则这个判断永真了。