HarmonyOS 鸿蒙Next关于判断string是否为空返回值为boolean的问题 为什么会返回数组类型?

发布于 1周前 作者 htzhanglong 来自 鸿蒙OS

HarmonyOS 鸿蒙Next关于判断string是否为空返回值为boolean的问题 为什么会返回数组类型?

public  static isStringEmpty(text: string):boolean{
if(text == ‘’||text==null || text == ‘null’)
{
return true;
}
else {
return false;
}
}

//我写了一个函数如上 判断字符串是否为空返回boolean类型

我调用的地方 按道理这里返回的boolean这样调用就行了 但是这里

即使返回了false 还是会走到true

if([UtilsString.isStringEmpty(this.cModel.campName)])
{
AlertDialog.show({ title: ‘’, message: ‘标题不能为空’ });
return;
}

然后我就改成 就行了这里为什么返回的是数组类型?

if([UtilsString.isStringEmpty(this.cModel.campName)][0])
{
AlertDialog.show({ title: ‘’, message: ‘标题不能为空’ });
return;
}

我在日志里打印了结果 返回的是数组? 我不理解 为什么会这样?

我明明返回的是bool啊。AB573B9C459B9073602318FA6A2456FC.png

4 回复

因为你将返回值放到了数组里, 数组一直为真. 

cke_701.png

哈哈 晕死 我写oc写习惯了。 真的是。。。无语了。oc的写法搞混了。

很正常, 都要有个适应的过程.

在HarmonyOS鸿蒙Next的开发环境中,如果你遇到了判断string是否为空(通常使用如isEmpty()方法)时返回值为数组类型的问题,这很可能是一个异常或者误解。标准Java和许多类似环境中的isEmpty()方法对于String类型应始终返回一个boolean值(truefalse),指示字符串是否为空(长度为0)或者不为空。

可能的原因包括:

  1. 方法名或类库混淆:你可能调用了一个不是标准String类的isEmpty()方法,或者是误用了某个库中的方法。
  2. 代码错误:检查你的代码,确保你调用的是String对象的isEmpty()方法,并且没有其他代码或逻辑错误导致类型混淆。
  3. 编译器或环境问题:极少数情况下,编译器或开发环境可能存在bug,导致方法签名解析错误。

确认你的代码片段如下形式:

String myString = ...;
boolean isEmptyResult = myString.isEmpty();

确保myString确实是String类型,并且没有重载或隐藏isEmpty()方法。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部