c++ 和 java中的字符串相等问题

c++ 中的字符串相等问题



#include 
#include 

using namespace std;

int main()
{
    char strA[] = "aaa";
    cout << "char stra[] = \"aaa\"" << endl;
    cout << "\"aaa\" == strA : " << ("aaa" == strA) << endl;   // 0
    cout << "strcmp(\"aaa\", strA) : " << strcmp("aaa", strA) << endl; // 0

    const char * strP = "aaa";
    cout << endl << "const char * strP = \"aaa\"" << endl;
    cout << "\"aaa\" == strP : " << ("aaa" == strP) << endl; // 1
    cout << "strcmp(\"aaa\", strP) : " << strcmp("aaa", strP) << endl; // 0

    cout << endl;
    cout << "strA == strP : " << (strA == strP) << endl; // 0
    cout << "strcmp(strA, strP) : " << (strcmp(strA, strP)) << endl; // 0
    return 0;
}

java中的字符串相等问题




public class StrEqual {
	
	public static void main(String[] args) {
		
		String strA = "aaa";
		System.out.println("strA = \"aaa\""); 
		System.out.println("\"aaa\" == strA : " + ("aaa" == strA)); // true
		System.out.println("strA.equals.(\"aaa\") : " + (strA.equals("aaa"))); //true
		
		String strB = new String("aaa");
		System.out.println("\n" + "strB = new String(\"aaa\")");
		System.out.println("\"aaa\" == strB : " + ("aaa" == strB)); // false
		System.out.println("strB.equals(\"aaa\") : " + (strB.equals("aaa"))); //true
		
		System.out.println();
		System.out.println("strA.equals(strB) : " + (strA.equals(strB))); //true
		System.out.println("strA == strB : " + (strA == strB)); // false
	}
}

posted @ 2015-05-12 10:15  cyy_cnblog  阅读(453)  评论(0编辑  收藏  举报