luk*_*657 3 java arrays casting
是否有特殊原因导致 Java 中的运行时异常而不是编译时错误?
Object[] objects = new Object[10];
String[] strings = (String[])objects;
Run Code Online (Sandbox Code Playgroud)
由于这种情况,必须在运行时进行检查:
public class Test {
public static void main(String[] args){
String[] stringsBase = {"aaa", "bbb", "ccc"};
Object[] objects = stringsBase;
String[] strings = (String[])objects;
System.out.println(strings[1]);
}
}
Run Code Online (Sandbox Code Playgroud)
这是一个有效的工作程序。如果不进行流分析,编译器将不知道对象是引用作为 Object[] 创建的数组,还是在本例中创建为 String[] 的数组。
| 归档时间: |
|
| 查看次数: |
1804 次 |
| 最近记录: |