Android 将2D stringarray传递给另一个活动-ClassCastException

Android 将2D stringarray传递给另一个活动-ClassCastException,android,android-intent,android-activity,classcastexception,Android,Android Intent,Android Activity,Classcastexception,我试图将2D stringArray传递给另一个活动,但receiver活动中的方法返回ClassCastException 将信息发送到其他活动 String[][] my2Dlist = {{"1", "john"}, {"2", "marie"}, {"3", "thomas"}}; Intent intent = new Intent(MainActivity.this, CalculationsActivity.class); Bundle b=new Bundle(); b.

我试图将2D stringArray传递给另一个活动,但receiver活动中的方法返回ClassCastException 将信息发送到其他活动

 String[][] my2Dlist = {{"1", "john"}, {"2", "marie"}, {"3", "thomas"}};
 Intent intent = new Intent(MainActivity.this, CalculationsActivity.class);
 Bundle b=new Bundle();
 b.putSerializable("list", my2Dlist);
 intent.putExtras(b);
 startActivity(intent);
 String[][] myString = (String[][]) getIntent().getExtras().getSerializable("list");
然后在接受者活动中

 String[][] my2Dlist = {{"1", "john"}, {"2", "marie"}, {"3", "thomas"}};
 Intent intent = new Intent(MainActivity.this, CalculationsActivity.class);
 Bundle b=new Bundle();
 b.putSerializable("list", my2Dlist);
 intent.putExtras(b);
 startActivity(intent);
 String[][] myString = (String[][]) getIntent().getExtras().getSerializable("list");
错误:

 Java.lang ClassCastException. Object[] cannot be cast to a String[][].
我不理解它-当我发送字符串[]时,它如何在其他活动中成为对象[]

我应该做些什么来克服这个问题

我看了这篇文章,似乎对他们有用,但对我来说不是

logcat

08-05 15:17:48.725: E/AndroidRuntime(15576): FATAL EXCEPTION: main
08-05 15:17:48.725: E/AndroidRuntime(15576): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.celestialnavigationii/com.example.celestialnavigationii.CalculationsActivity}: java.lang.ClassCastException: java.lang.Object[] cannot be cast to java.lang.String[][]
08-05 15:17:48.725: E/AndroidRuntime(15576):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2100)
08-05 15:17:48.725: E/AndroidRuntime(15576):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2125)
08-05 15:17:48.725: E/AndroidRuntime(15576):    at android.app.ActivityThread.access$600(ActivityThread.java:140)
08-05 15:17:48.725: E/AndroidRuntime(15576):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1227)
08-05 15:17:48.725: E/AndroidRuntime(15576):    at android.os.Handler.dispatchMessage(Handler.java:99)
08-05 15:17:48.725: E/AndroidRuntime(15576):    at android.os.Looper.loop(Looper.java:137)
08-05 15:17:48.725: E/AndroidRuntime(15576):    at android.app.ActivityThread.main(ActivityThread.java:4898)
08-05 15:17:48.725: E/AndroidRuntime(15576):    at java.lang.reflect.Method.invokeNative(Native Method)
08-05 15:17:48.725: E/AndroidRuntime(15576):    at java.lang.reflect.Method.invoke(Method.java:511)
08-05 15:17:48.725: E/AndroidRuntime(15576):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1006)
08-05 15:17:48.725: E/AndroidRuntime(15576):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:773)
08-05 15:17:48.725: E/AndroidRuntime(15576):    at dalvik.system.NativeStart.main(Native Method)
08-05 15:17:48.725: E/AndroidRuntime(15576): Caused by: java.lang.ClassCastException: java.lang.Object[] cannot be cast to java.lang.String[][]
08-05 15:17:48.725: E/AndroidRuntime(15576):    at com.example.celestialnavigationii.CalculationsActivity.onCreate(CalculationsActivity.java:38)
08-05 15:17:48.725: E/AndroidRuntime(15576):    at android.app.Activity.performCreate(Activity.java:5184)
08-05 15:17:48.725: E/AndroidRuntime(15576):    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1083)
08-05 15:17:48.725: E/AndroidRuntime(15576):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2064)
08-05 15:17:48.725: E/AndroidRuntime(15576):    ... 11 more

显示如何初始化My2dList这是因为[][]myString为空。因此,它可能会出现空指针异常。请您提供日志以便更清楚地理解,谢谢。请在同一个帖子中再次给出答案。它处理空数组:问题是关于ClassCastException-而不是nullpointerException