String[] a={"a"};于String a="a";有什么区别 String[] a={"a"};于String a="a";有什么区别 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 前者是定义数组a,而a只有一个元素,即a【0】=“a”后者是定义字符串变量a,a=“a” 前者a是指向一个数组,该数组有一个String元素即a[0]="a";后者a是一个String, a本身="a" 前面是一个 String数组对象 后面是一个String对象 问题升级一下,String[] a = {"a"};String b = "a";请问a[0] == b的结果是什么及为什么? 这个是把a数组的第一个元素和string对象b的值进行比较这这段代码就知道了String[] a = {"a"}; String b = "a"; if(a[0]==b){ System.out.println("true"); } else{ System.out.println("false"); } 这个是把a数组的第一个元素和string对象b的值进行比较这这段代码就知道了String[] a = {"a"}; String b = "a"; if(a[0]==b){ System.out.println("true"); } else{ System.out.println("false"); } String a="a";//是个指向对象的引用名为 a(或 我们声明了一个String对象指向a)String[] a={"a"};//字符串型数组,“a”是数组a中的一个元素(在内存中占一段连续的单元)他(数组中元素String)也和类中String一样一:String a[]={"a"}; String b="a"; String c="a"; if(b.equals(a[0])) //把a[0]换成c也一样输出true { System.out.println("true"); }else { System.out.println("flase"); }输出:true;二:String a[]={"a"}; String b="a"; String a[]={"a"}; String c="a"; if(b==(a[0])) //把a[0]换成c也一样输出true { System.out.println("true"); }else { System.out.println("flase"); }输出:true因为: 他们引用的对象相同当引用对象不同时: String a[]={"a"}; String b="a"; String c="a"; b=new String("a"); a[0]= new String ("a"); if(b==a[0]) //把a[0]换成c也一样输出flase { System.out.println("true"); }else { System.out.println("flase"); }输出:flase所以其他都一样;区别是:--String[] a={"a"};中的“a”(a[0])是数组的一个元素,而且他在内存中占一段连续的单元,可初始化;--String a="a";是字符指针变量, 字符指针是指向字符的引用,所占内存单元存放的是所指字符的内存单元--如果定义了一个字符数组,在编译时为它分配内存单元,它有确定的地址。而定义一个字符,给指字符串分配内存单元,在其中可以放一个字符串的地址 --字符串可以重新赋值,而数组名是常量 前面是数组, 后面是一个String 初学构造方法,一个java文件定义一个类,另外一个如何使用这个类,望知道 sql语句能用between-and来比较一个date类型的参数么? 弱弱的问下这个Java题 写一个美观性要求比较高的桌面软件,用swing好还是awt好? 请问:ojdbc14.jar的驱动可不可以用于JDK1.5下的Oracle访问?有没有更好的驱动 急救!急救!急救! #求JFC 核心编程的电子版本 关于将16进制的字符串转化成字符串 大家谁有生成。exe的软件?传上来一个ok ? FileWriter与BufferedWriter 关于osgi事件的一个奇怪现象!有大侠遇到吗? 事务问题
后者是定义字符串变量a,a=“a”
后者a是一个String, a本身="a"
String[] a = {"a"};
String b = "a";
请问a[0] == b的结果是什么及为什么?
这这段代码就知道了
String[] a = {"a"};
String b = "a";
if(a[0]==b){
System.out.println("true");
}
else{
System.out.println("false");
}
这这段代码就知道了
String[] a = {"a"};
String b = "a";
if(a[0]==b){
System.out.println("true");
}
else{
System.out.println("false");
}
String a="a";//是个指向对象的引用名为 a(或 我们声明了一个String对象指向a)
String[] a={"a"};//字符串型数组,“a”是数组a中的一个元素(在内存中占一段连续的单元)
他(数组中元素String)也和类中String一样一:
String a[]={"a"};
String b="a";
String c="a";
if(b.equals(a[0])) //把a[0]换成c也一样输出true
{
System.out.println("true");
}else
{
System.out.println("flase");
}
输出:true;二:
String a[]={"a"};
String b="a";
String a[]={"a"};
String c="a";
if(b==(a[0])) //把a[0]换成c也一样输出true
{
System.out.println("true");
}else
{
System.out.println("flase");
}
输出:true
因为: 他们引用的对象相同当引用对象不同时: String a[]={"a"};
String b="a";
String c="a";
b=new String("a");
a[0]= new String ("a");
if(b==a[0]) //把a[0]换成c也一样输出flase
{
System.out.println("true");
}else
{
System.out.println("flase");
}
输出:flase所以其他都一样;
区别是:--String[] a={"a"};中的“a”(a[0])是数组的一个元素,而且他在内存中占一段连续的单元,可初始化;
--String a="a";是字符指针变量,
字符指针是指向字符的引用,所占内存单元存放的是所指字符的内存单元
--如果定义了一个字符数组,在编译时为它分配内存单元,它有确定的地址。而定义一个字符,给指字符串分配内存单元,在其中可以放一个字符串的地址
--字符串可以重新赋值,而数组名是常量