53 lines
898 B
Java
53 lines
898 B
Java
|
public class ArrayStore
|
||
|
{
|
||
|
public static void main(String[] args)
|
||
|
{
|
||
|
ArrayStore s = new ArrayStore();
|
||
|
|
||
|
/* Check that bounds check takes precedence over array store check. */
|
||
|
try
|
||
|
{
|
||
|
s.a(new String[1]);
|
||
|
}
|
||
|
catch (Exception x)
|
||
|
{
|
||
|
System.out.println (x.getClass().getName());
|
||
|
}
|
||
|
|
||
|
try
|
||
|
{
|
||
|
s.a(new String[2]);
|
||
|
}
|
||
|
catch (Exception x)
|
||
|
{
|
||
|
System.out.println (x.getClass().getName());
|
||
|
}
|
||
|
|
||
|
/* Check that += operator on String[] element works and throws bounds
|
||
|
exception. */
|
||
|
try
|
||
|
{
|
||
|
s.b(new String[1]);
|
||
|
}
|
||
|
catch (Exception x)
|
||
|
{
|
||
|
System.out.println (x.getClass().getName());
|
||
|
}
|
||
|
|
||
|
String[] sb = new String[2];
|
||
|
sb[1] = "foo";
|
||
|
s.b(sb);
|
||
|
System.out.println (sb[1]);
|
||
|
}
|
||
|
|
||
|
void a(Object[] oa)
|
||
|
{
|
||
|
oa[1] = new Integer(2);
|
||
|
}
|
||
|
|
||
|
void b(String[] sa)
|
||
|
{
|
||
|
sa[1] += "bar";
|
||
|
}
|
||
|
}
|