Java是类型安全的语言,而C++是非类型安全的?【解释】

有过C++开发经验的人会发现,我们可以将0作为false,非零作为true。一个函数即使是bool类型的,但是我们还是可以返回int类型的,并且自动将0转换成false,非零转换成true。代码实例如下:

#include
#include
using namespace std;bool fun()//函数返回类型是bool,但是我们在函数中可以返回int类型。
{return 1;
}void main()
{int a=1;if(a)//a是int类型的,但是可以作bool类型来使用。{cout<<"C++是非类型安全的。"<

但是,在java中,我们就不能这样使用了,java中不能做到int类型转bool类型,比如以下代码:

public class TypeSafeTest {public static void main(String[] args) {int i=1;if(i){System.out.println("java是类型安全语言");}}
}

执行上述代码会报如下错误:

Exception in thread "main" java.lang.Error: Unresolved compilation problem: Type mismatch: cannot convert from int to boolean 
at TypeSafeTest.main(TypeSafeTest.java:4)

上述错误表明在 java int 类型不能在自动转变成 bool 类型了。这就是 类型安全的意思。


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部