精华内容
下载资源
问答
  • C++ 判断数组为空
    千次阅读
    2020-04-29 13:41:49

    转载自

    判断数组为空
    tails/99290544

    更多相关内容
  • VBA中如何判断数组为空

    千次阅读 2022-04-04 10:02:42
    在复杂的代码开发过程中,程序逻辑结构可能存在多个分支,有时需要判断变量是否为空,例如对于Range变量,可以使用如下代码。

    在复杂的代码开发过程中,程序逻辑结构可能存在多个分支,使用变量时,可能需要判断变量是否为空,例如对于Range变量,可以使用如下代码。

    Sub RangeDemo()
        Dim rngAll As Range
        Dim rng1 As Range
        Set rng1 = [a1:b3]
        If rngAll Is Nothing Then
            Set rngAll = rng1
        Else
            Set rngAll = Union(rngAll, rng1)
        End If
    End Sub
    

    【代码解析】
    第5行代码使用Is Nothing判断Range对象变量rngAll是否为空。
    如果为空,那么第6行代码使用Set关键字为对象变量赋值。
    如果不为空,那么第7行代码使用Union函数合并单元格区域。
    rngAll为空时,使用Union函数合并单元格区域,将产生错误号5的运行时错误。
    在这里插入图片描述

    但是Is Nothing仅适用于对象变量,无法判断普通变量和数组变量,有的同学知道VBA中有IsEmpty函数,从名字看似乎就是为此而生的,咱们测试一下。

    Sub demo1()
        Dim a() As Integer
        Dim b() As Variant
        Dim d As Integer
        Dim e As Variant    
        If IsEmpty(a) Then Debug.Print "整数数组a为空"
        If IsEmpty(b) Then Debug.Print "变体数组b为空"
        If IsEmpty(c) Then Debug.Print "未声明变量c为空"
        If IsEmpty(d) Then Debug.Print "整数变量d为空"
        If IsEmpty(e) Then Debug.Print "变体变量e为空"    
        c = 1
        e = 2
        If IsEmpty(c) Then Debug.Print "未声明变量为空" Else Debug.Print "c不为空"
        If IsEmpty(e) Then Debug.Print "变体变量为空" Else Debug.Print "e不为空"
    End Sub
    

    【代码解析】
    代码非常简单,用于测试不同变量的结果,输出结果如下。
    在这里插入图片描述

    IsEmpty函数仅适用于变体变量(未声明的变量,默认为变体变量),对于变体数组也不适用。第11至12行代码赋值后,第13至14行代码可以检测到变量不为空。


    那么到底如何判断数组是否为空呢?其实也不复杂,

    Sub demo2()
        Dim a() As Integer
        On Error Resume Next
        LB = LBound(a)
        If Err.Number = 9 Then
            Debug.Print "数组为空"
        Else
            Debug.Print "数组不为空"
        End If
        On Error GoTo 0
    End Sub
    

    【代码解析】
    第3行代码忽略运行时错误继续代码执行。
    第4行代码使用LBound函数读取变量的下标下界。
    如果数组为空,那么将产生错误号为9的运行时错误,第5行代码捕获错误,输出提示信息。
    第10行代码恢复系统错误处理机制。

    如果使用如下代码声明数组,数组中每个元素的值都为零,因此数组不为空。

    Sub demo3()
        Dim a(1 To 2) As Integer
        On Error Resume Next
        LB = LBound(a)
        If Err.Number = 9 Then
            Debug.Print "数组为空"
        Else
            Debug.Print "数组不为空"
        End If
        On Error GoTo 0
    End Sub
    
    展开全文
  • 如何判断动态数组为空

    千次阅读 2021-03-15 03:17:55
    VBA开发时经常用到数组,但是如何判断数组是否为空,这里说的“”指的是,动态数组声明后,但是未赋值之前的状态,在【本地窗口】中显示如下。 此时Dim语句已经执行完毕,可以认为已经完成了初始化,数组并无法...

    VBA开发时经常用到数组,但是如何判断数组是否为空,这里说的“空”指的是,动态数组声明后,但是未赋值之前的状态,在【本地窗口】中显示如下。
    在这里插入图片描述
    此时Dim语句已经执行完毕,可以认为已经完成了初始化,数组并无法直接使用,因此可以使用错误捕获的方式来实现检测这个状态。
    示例代码如下:

    Sub Demo()
        Dim arrTest()
        On Error Resume Next
        idx = LBound(arrTest)
        If Err.Number > 0 Then
            MsgBox "arrTest是空数组"
        Else
            MsgBox "arrTest不是空数组"
        End If
        On Error GoTo 0
        '数组赋值
        ReDim arrTest(0)
        arrTest(0) = 1
        MsgBox "arrTest(0)=" & arrTest(0)
        On Error Resume Next
        idx = LBound(arrTest)
        If Err.Number > 0 Then
            MsgBox "arrTest是空数组"
        Else
            MsgBox "arrTest不是空数组"
        End If
        On Error GoTo 0
    End Sub
    

    【代码解析】
    第4行代码使用LBound函数读取数组的下标下界,使用UBound函数也可以。如果数组为空,那么将产生运行时错误9,由于第3行代码忽略运行时错误,所以代码可以继续执行。
    在这里插入图片描述
    第5行代码中Err.Number返回值为9,因此将执行第6行代码,显示如下消息框。
    在这里插入图片描述
    第12~13行代码为动态数组赋值。
    第14行代码显示数组的值,如下图所示。
    在这里插入图片描述
    第16行可以正常运行,不会产生运行时错误,此时Err.Number返回值为0,将显示如下所以的消息框。
    在这里插入图片描述
    使用代码Erase arrTest可以清空动态数组,恢复到状态。

    展开全文
  • 传统的判断数组为空 一般用count或者key 而且多维数组的话很麻烦
  • 首先,要清楚一点数组为空数组长度0和数组首元素空值是三个完全不同的概念。下面我以代码例来详细介绍一下它们的定义和区别。 代码 public class Test { public static void main(String[] args) { //s...

    首先,要清楚一点数组为空、数组长度为0和数组首元素为空值是三个完全不同的概念。下面我以代码为例来详细介绍一下它们的定义和区别。

    代码

    public class Test {
        public static void main(String[] args) {
            //s0不为空,但它指向空值,长度为0,系统开辟了内存,但内存中没有放任何东西,所以其长度为0,但数组不为空(已经开辟内存了),值却是空值
            String[] s0 = {};
            //s1不为空,长度为1,开辟内存的同时,将1个null放入内存中,所以长度为1--->值为null
            String[] s1 = {null};
            //s2不为空,长度为1,虽然没有初始化但s2[0],但有默认值null,和s1类似
            String[] s2 = new String[2];
            //s3为空,没有长度,调用s3.length会空指针异常,虚拟机不会为其开辟内存,s3不指向任何地方
            String[] s3 = null;
    
        }
    }

    数组长度为0

    如上述代码所示,s0数组长度为0,指的是数组不为空,数组的“值”为空。系统在栈里面开辟了内存,存放了数组变量s0,但在堆内存中没有放任何东西,所以其长度为0,但数组不为空(已经开辟内存了),值却是空“值”。

    数组首元素为空值

    如上述代码所示,系统在栈里面开辟了内存,存放了数组变量s1和s2,在堆内存中分配了两个空间分别存放了数组s1和s2的首元素,且值为null,即空值(既然说是空值,说明数组肯定不为空,长度也不为0,只是值为空值而已),所以数组长度为1。

    数组为空

    如上述代码所示,,虚拟机不会为其开辟内存,s3不指向任何地方,所以s3为空,没有长度,当然也没有首元素的值的说法。调用s3.length会空指针异常。

    总结

    系统不会为其开辟内存,即是数组为空,此时不存在数组长度和首元素的值的说法。

    系统在栈里面开辟了内存,存放了数组变量,但在堆内存中没有放任何东西,就是数组的长度为0,数组的“值”是空,数组不为空,数组没有值,数组的长度为0,没有首元素值的说法。

    系统在栈里面开辟了内存,存放了数组变量,同时在堆内存中分配了空间分别数组的首元素,且首元素值为null值,就是数组不为空,数组有长度的说法,数组的值为空值(null),数组的长度大于0。

    此外,对于数组为空,会出现空指针异常java.lang.NullPointerException,因此假设一个方法返回一个数组,如果它返回null,则调用方法必须先判断是否返回null,才能对放回数组进一步处理,而如果返回空数组,则无须null引用检查。鉴于此,返回数组的方法在没有结果时我们通常返回空数组,而不是null,这样做对于函数调用者的处理比较方便。

    最后用一张图表示一下数组为空、数组长度为0和数组首元素为空值在内存的分布

    展开全文
  • c++ 判断数组为空

    万次阅读 2019-08-12 10:44:05
    如果数组是用vector定义的,即: vector<int> nums; //或 vector<int>& nums; ,则这样写: if nums.size() == 0: returnfalse 方法二: 如果数组是这样定义的,即: int nums[] = {1,2,3...
  • js判断数组为空

    万次阅读 2017-11-25 20:42:00
    js判断数组为空 data = []; if(data == false){ //data为空数组时,要执行的代码 } 在数组直接与布尔类型比较的时候,默认都是将数组和布尔类型都转化Number类型比较,空数组转化Number类型的时候0 通过...
  • javascript判断数组为空

    千次阅读 2020-02-25 10:29:02
    var data = []; if(data.length == 0){ //data为空数组时,要执行的代码 alert("data为空"); } var data = []; if(data == false){ //data为空数组时,要执行的代码 alert("data为空")...
  • 数组为空和数组长度0的区别

    千次阅读 2020-04-13 19:24:46
    数组为空,此时array不指向任何对象; int[] array = new array[0]; 定义一个长度0的数组; int[] array = new array[2]; 定义一个长度2的数组,此时如果数组没有被初始化,默认的值null; 一般先判断 nums ...
  • 如下代码设置required=false即可,当传递数组为空的时候对应字段null。 @RequestParam(value="deleteOrg", required=false) List<String> deleteOrg @RequestParam(value="insertOrg", required=false) ...
  • php如何判断一个数组为空数组

    万次阅读 2018-07-17 16:45:53
    说明:它不会判断变量是否为空,并且可以用来判断数组中元素是否被定义过 例如: &lt;?php $a = ''; $a['c'] = ''; if (!isset($a)) echo '$a 未被初始化' . ""; if (!isset($b)) ...
  • 1.问题:判断数组为空还是长度0好2.源代码:public class TestArray { public static void main(String[] args) { int b[]=null; int a[] = new int [10]; /*1、打印*/ System.out.println("a数组的长度:"+
  • Vue中设置数组为空

    万次阅读 2018-07-12 15:59:42
    在Vue中如果要把一个数组为空,用this.arr =[]比this.arr.length = 0要好this.arr = []会同步显示,this.arr.length = 0则不能实时刷新
  • 微信小程序给自定义组件传递数组 显示为空 传的值必须为数组,而不是对象,弄了一下午发现传字符可以,但是数组一接收就为空[],后改数组就接收到了 that.setData({ avatar: res.data[0].avatar, bgimage:...
  • vue.draggable数组为空时,拖不进去东西,踩的坑

    千次阅读 热门讨论 2021-02-03 10:05:04
    vue.draggable group 拖拽分组多组之间相互拖拽,官方文档有例子,也很好理解,但是有一个bug,就是当其中一个数组为空时,在想拖进去东西,就拖不进去了, 1.这个是官方的案例 ... 有A,B,C三个数组,当我把A或者B里面...
  • TypeScript Array(数组)

    2020-12-14 04:31:32
    TypeScript Array(数组) 数组对象是使用单独的变量名来存储一系列的值。 数组非常常用。 假如你有一组数据(例如:网站名字),存在单独变量如下所示: var site1="Google"; var site2="Runoob"; var site3="Taobao...
  • 如图,在控制打印的时候数组,但是展开可以看到有37条数据。紧接着打印了长度,长度0. 这个问题我搜了很多解决都是 this.$nextTick(() => { }) 我有个更简单的办法,这个算是异步的一个加载 那就使用...
  • C++中如何判断一个整型数组为空 数组固定了元素的个数比如数组a[10]判断其为空数组 即各位都没有输入数值
  • Java中数组为空和数组长度0的区别

    万次阅读 2018-03-25 20:47:01
    数组为空,此时array不指向任何对象; int[] array = new array[0]; 定义一个长度0的数组; int[] array = new array[2]; 定义一个长度2的数组,此时如果数组没有被初始化,默认的值null; 一般先判断 nums ...
  • CollectionUtils在 import org.apache.commons.collections.CollectionUtils包下面的方法可以直接判断数组为空 || size&gt; 0 两者如果在一句代码中,则要先判断是否为空,否则可能会出现指针异常。eg:if ...
  • Java中判断数组是否为空

    千次阅读 2021-03-06 17:37:05
    判断一个String类型的字段是否为空StringUtils.isBlank()可判断 null,"","",三种类型2.判断两个字符串是不否相等的最好办法(可以防止出现为空现象)不相等!Objects.equals(WmCouponState.OPEN, coupon.getState())...
  • hive判断字符串数组空数组

    千次阅读 2021-12-24 18:26:22
    方法:可以使用查找数组中的第一个值是否为空字符串 select classify from table where classify[0]=''; 想查找表中空数组: 方法:使用size判断数据大小是否0 select classify from table where size(classify)=...
  • js数组操作:三维数组去除元素
  • 易语言参数是否不为空源码,参数是否不为空,子程序1,是否不为空
  • jquery如何判断数组是否为空?可以通过判断数组的长度length来判断数组是否为空空数组的length值为空数组的 length 属性总是比数组中定义的最后一个元素的下标大于1。对于那些具有连续元素,而且以元素 0 开始的...
  • 如何判断数组是否为空

    千次阅读 2021-02-12 18:26:50
    3因为已经将对象的引用赋值给变量stus,所以肯定不null,所以不能使用非空来判断因为stus[0]、stus[1]、stus[2]这些下标对应的变量,都没有被赋值,所以都null,所以可以使用他们来判断数组是否为空二、然后创建...
  • java判断数组是否为空

    千次阅读 2021-03-23 12:16:47
    java判断数组是否为空根据数组长度判断,如果0,则为空,反之不是。 (推荐学习:java课程)public class Main {public static void main(String[] args) {int[] array1 = new int[]{}; //被当成 {0}if (array1 == ...
  • 结果在numberOfRowsInSection可以获取到该数组中的对象,但在cellForRowAtIndexPath中获取到得数组为空,求大神帮忙看看 ``` - (NSMutableArray *)noticeArray { if (!_noticeArray) { _noticeArray = ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,180,441
精华内容 472,176
关键字:

数组为空

友情链接: LuckyCandles_v3.0.rar