package com.web;
public class Test40 {
public static void main(String[] args) {
String str = "abc";
//字符构成字符串
char[] chars = {
'a','b',99};//99相当于c
String str2 = new String(chars);
//内存开辟新空间,虽然str和str3的值一样,但地址不一样
String str3 = "abc";
System.out.println("str2 = " + str2);
//字节构成字符串
byte[] bytes = {
97,98,99};
String str4 = new String(bytes);
System.out.println("str4 = " + str4);
//字符串转化为字节
byte[] bytes1 = "abc".getBytes();
for (int i = 0; i < bytes1.length; i++) {
System.out.println("bytes1["+i+"] = "+bytes1[i]);
}
//字符比较
System.out.println(str==str2);//false,开辟了新的内存空间,地址不同,==比较的是地址
//字符串比较
System.out.println(str==str3);//true// 内存中只有一个"abc"对象被创建,同时被s1和s2共享。
//字节比较
System.out.println(str==str4);//false
//字符比较
System.out.println(str.equals(str2));//true equals只是比较了值是否相等
//字符串比较
System.out.println(str.equals(str3));//true
//字节比较
System.out.println(str.equals(str4));//true
}
}
字节byte,字符char,字符串String三者的转化和比较
おすすめ
転載: blog.csdn.net/djydjy3333/article/details/121512247
ランキング