Python同Java同Js语言语法区别之一判断字符串字典列表为空的方法

判断字符串字典列表为空的方法

前言

作为一枚测开工程师,需要的技能是全栈的,项目中,经常需要切换语言进行开发,语言用多了,难免会经常用混淆,故趁有空整理下这系列笔记“Python同Java同Js语言语法区别‘,希望对大家有用。

Python

在python中,False,0,’’,[],{},()都为假,因此可以直接进行逻辑运算。

#!/usr/bin/python
list1=[]
str1=""
num=0
dict1={}
tuple1=()
blue1=False
none1=None
if list1 or str1 or num or dict1 or tuple1 or blue1 or none1:
	print("有")
else:
	print("空值")

需要注意的是:数字0也为假

Java

java 中没有python那么简洁,写起来比较长。

字符串

java 中为了防止空指针异常,一般都要加上null的判断,如示例1。如果用 equals(String) 或 length(),则null判断则需要写在最前面,要不然会报空指针异常,如示例2

易出错写法:示例1

        String str1 = "";
        if (  str1 == null || str1 == ""  ){
            System.out.println("空");
        }
        else{
            System.out.println("有值");
        }

==判断的是字符的内存地址是否相等。可以判断对象是否相等,此处判断的是字符内容,如果将str1 变为String str1=new String(“”);则结果则不一样了。

不建议写法:示例2
因为null 必须得写在前面,要不然会报空指针异常,新手很忽略,而踩坑!

        if (  str1 == null  || str1.equals("")  ){
            System.out.println("空");
        }
        else{
            System.out.println("有值");
        }

需要注意的是:如果使用str equals等属性的话,null判断需要放在前面

建议写法:使用StringUtils工具类,比较直观

import org.apache.commons.lang3.StringUtils;
StringUtils.isEmpty(str1)

数组

在python叫列表
同样需要加上null 判断

//        List list1 =new ArrayList();
        List list1 =null;
//        if (list1 ==null || list1.size()==0){
        if (list1 ==null || list1.isEmpty()){
            System.out.println("空列表");
        }else {
            System.out.println("有值列表");
        }

注意 List list1 =new ArrayList();此时的list1是空数组 [] 。size判断数量、empty判断元素

Map

在python也叫字典
写法与数组一样

//        HashMap<String,String> map1 = new HashMap<>();
        HashMap<String,String> map1 = null;

        if (map1 ==null || map1.isEmpty()){
            System.out.println("空map");
        }else {
            System.out.println("有值map");
        }

Js

较为好用的在线调试工具:
https://www.bejson.com/runcode/javascript/

字符串

js中还需要判断null以及undefined,undefined代表的变量没有赋值。

var str1;
// var str1=null;
// var str1="";

if(str1===""||str1===null||str1===undefined){
  console.log("空");
}else{
   console.log("不为空");
}

数组

// let arr=null;
// let arr = [];
let arr ;
if (arr===null||arr===undefined || arr.length === 0 ){
   console.log("数组为空")
}else {
   console.log("数组不为空")
}

注意的是,arrnull||arrundefine也要放在前面,要不然会报错。

对象

对应的python中的字典
判断的方法之一JSON.stringify。


// var object1;
// var object1;
var object1 ={};
if(object1===null||object1===undefined||JSON.stringify(object1) == "{}"){
  console.log("空");
}else{
   console.log("不为空");
}

注意的是:js中判断等于一般建议使用"===“严格等于 。与” == "区别就是三等号等于不进行类型转换,如果类型不一致则返回false

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值