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 类型了。这就是 类型安全的意思。
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
