Java是类型安全的语言,而C++是非类型安全的

来源:互联网 发布:淘宝刷王者荣耀贵族8 编辑:程序博客网 时间:2024/05/21 09:09

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

复制代码
 1 #include<iostream> 2 #include<stdlib.h> 3 using namespace std; 4  5 bool fun()//函数返回类型是bool,但是我们在函数中可以返回int类型。 6 { 7     return 1; 8 } 9 10 void main()11 {12     int a=1;13     if(a)//a是int类型的,但是可以作bool类型来使用。14     {15         cout<<"C++是非类型安全的。"<<endl;16     }17     system("pause");18 }
复制代码

但是,在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类型了。这就是类型安全的意思。

http://www.cnblogs.com/xwdreamer/archive/2012/05/22/2513136.html

原创粉丝点击