在js中,length属性一般用来判断一个字符串的长度,但是length属性得到的字符串长度是以字节为单位的。想用js根据字节获取或判断一个字符串的长度,应该怎么做?下面是一些js判断字符串字节长度
顺晟科技
2022-09-15 19:00:15
186
有多个值,要么都为空,要么都不为空,有什么比较好的写法
Java 代码
import java.util.Arrays;
public class AllNulllOrNotNull {
public static void main(String[] args) {
System.out.println(allSameNullState("", "", ""));
System.out.println(allSameNullState(null, null));
System.out.println(allSameNullState("", "", null));
}
static boolean allSameNullState(Object... objs) {
var count = Arrays.stream(objs).mapToInt(it -> (it == null ? 0 : 1)).sum();
return count == 0 || count == objs.length;
}
}
下面这个可能会快些,毕竟不需要执行完
static boolean allSameNullState(Object... objs) {
if (objs.length <= 1) {
return true;
}
boolean firstState = objs[0] == null;
return Arrays.stream(objs).allMatch(it -> (it == null) == firstState);
}
你是想要这样的东西?
public static void main(String[] args) {
allNull(null, null, null);
}
public static boolean allNull(Object... args) {
if (args == null || args.length == 0) {
throw new RuntimeException("input is empty");
}
for (Object arg : args) {
if (arg != null) {
return false;
}
}
return true;
}
python中有个all方法
其它语言其实也可以用位运算的方式实现:
<?php
function all($data)
{
if (!is_array($data)) {
$data = array($data);
}
$result = 1;
foreach ($data as $item) {
$result &= intval(boolval($item));
}
return boolval($result);
}
如果为空转成0,不为空转成1,做&
运算,最后再转成bool型。
24
2022-10
19
2022-10
19
2022-10
22
2022-09
15
2022-09
15
2022-09