Hi, I had a question about += operator as follows.
Why names[--a] += "-" and names[--a] = names[--a] + "-" are different in (1) and (2)?
Thanks.
(1)
public class sihao{
public static void main(
String[] arg)
{
int a = 1;
String[] names = {"a","b","c"};
names[--a] += "-";
for(int i =0; i<names.length;i++)
{
System.out.println(names[i]);
}
}
}
will print out
a-
b
c
----------------------------------------------------
(2)
public class sihao{
public static void main(String[] arg)
{
int a = 1;
String[] names = {"a","b","c"};
names[--a] = names[--a] + "-";
for(int i =0; i<names.length;i++)
{
System.out.println(names[i]);
}
}
}
will get java.lang.ArrayIndexOutOfBoundsException.