【java面试题001】Boolean b = new Boolean(“abcde”); 会编译报错吗?

【java面试题001】Boolean b = new Boolean(“abcde”); 会编译报错吗?

  不会编译报错,在Boolean的构造函数中,除了”true”和”false”之外的字符串虽然不会造成编译错误,但是会返回false。

因为这个Boolean的构造函数是根据输入的值判断的是true还是false或者输入的值是"true"或"false";
如果输入的值是Boolean类型true,则返回true,否则返回false。

如果输入的值是String类型的"true"或"false",
那么这个构造函数会判断输入的是否为""为空,也是返回false,
不为空则进行长度判断,长度如果不满足true的长度,那么也是返回false,否则返回true;
如果长度满足条件则进行对该字符串的每个字符进行编码转换,然后继续判断每个字符是否满足条件,也是返回Boolean类型。
如果满足条件则将进行无视大小写的判断返回的也是Boolean类型的。

原理就是这样。

所以说,你这个实例化对象Boolean传入的"abcde"不满足Boolean类型的true,也没满足"true",所以返回的是false。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏黑泽君的专栏

finally关键字小复习

1:final关键字可以干什么?有什么特点?   最终的意思。可以修饰类,方法,变量。     它修饰类,类不能被继承。     它修饰方法,方法不能被重写。 ...

8210
来自专栏java 成神之路

字节码分析finally块对return返回值的影响

30160
来自专栏一个会写诗的程序员的博客

Integer 与 Long 数字类型的比较:Java与Kotlin的细节不同

我们在数学中,123 == 123 , 直觉上是一目了然的。但是到了计算机编程语言中, 问题就显得有点“傻瓜”化了。

20120
来自专栏好好学java的技术栈

Java基础提升篇:理解String 及 String.intern() 在实际中的应用

15920
来自专栏机器学习从入门到成神

java中关于继承的问题

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinat_35512245/articl...

16400
来自专栏十月梦想

数组相关处理函数

********************************************************************************...

10250
来自专栏Hongten

java中静态变量和实例变量到底有什么区别_看了就知道啦

==================================================

9230
来自专栏python学习指南

Python迭代

本篇将介绍Python的迭代,更多内容请参考:Python学习指南 简介 在Python中,如果给定一个list或者tuple,我们可以通过for循环来遍...

21390
来自专栏python学习指南

python迭代器

本篇将介绍Python的迭代,更多内容请参考:Python学习指南 简介 在Python中,如果给定一个list或者tuple,我们可以通过for循环来遍...

22670
来自专栏Rgc

python中赋值,深拷贝,浅拷贝区别

这三种不适合 int,str,float,bool等类型。因为这些类型在值改变后,被赋值的变量值不变。

34720

扫码关注云+社区

领取腾讯云代金券