Javaはタイプの安全な言語であり、C++は非タイプの安全な言語である。
1187 ワード
C++の開発経験がある人は、0をfalseとして、非ゼロをtrueとして使うことができます。一つの関数は、たとえbookタイプでも、intタイプに戻り、自動的に0をfalseに変換し、非ゼロをtrueに変換することができます。コードの例は以下の通りです。
#include<iostream>
#include<stdlib.h>
using namespace std;
bool fun()// bool, int 。
{
return 1;
}
void main()
{
int a=1;
if(a)//a int , bool 。
{
cout<<"C++ 。"<<endl;
}
system("pause");
}
しかし、javaでは、このようには使えなくなりました。javaでは、以下のコードができません。例えば、
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タイプが自動的にブールタイプに変更されないことを示しています。これはタイプの安全という意味です。