title: Using parcelable pass data got java.lang.ClassCastException after clearing ram
body: <p>I implements two classes to the Serializable and Parcelable.</p>
  
  <p>The data class like this,the details of Serializable and Parcelable are nomitted.</p>
  
  <pre><code>public class Test1 implements Parcelable  {
  
  public Test1() {
  }
  
  String s1;
  String s2;
  String s3;
  String s4;
  String s5;
  String s6;
  
  }
  
  public class Test2 implements 
  Serializable  {
  
  public Test2() {
  }
  
  String s1;
  String s2;
  String s3;
  String s4;
  String s5;
  String s6;
  
  }
  </code></pre>
  
  <p>and write two class to extend they like this</p>
  
  <pre><code>public class test11&lt;T&gt; extends test1{
  
  private List&lt;T&gt; list;
  
  public test11(List&lt;T&gt; list) {
      this.list = list;
  }
  
  
  public List&lt;T&gt; getList() {
      return list;
  }
   }
  
  public class test22&lt;T&gt; extends test2{
  
  private List&lt;T&gt; list;
  
  public TextSSS2(List&lt;T&gt; list) {
      this.list = list;
  }
  
  
  public List&lt;T&gt; getList() {
      return list;
  }
  }
  </code></pre>
  
  <p>and I put the data in bundle pass to fragment</p>
  
  <pre><code>            Test1 test1 = new Test1();
              test1.setS1("1");
  
              List&lt;Test1&gt; list1 = new ArrayList&lt;Test1&gt;();
              list1.add(test1);
              Test11 test11 = new Test11(list1);
  
  
              Test2 test2 = new Test2();
              test2.setS1("2");
  
  
              List&lt;Test2&gt; list2 = new ArrayList&lt;Test2&gt;();
              list2.add(test2);
              Test22 test22 = new Test22(list2);
  
              Bundle bundle = new Bundle();
              bundle.putParcelable("test1", test11);
              bundle.putSerializable("test2", test22);
  
              Fragment fragment = new TestFragment();
              fragment.setArguments(bundle);
  
              getSupportFragmentManager().beginTransaction()
                      .replace(R.id.containerF, fragment, "AAA")
                      .addToBackStack(null)
                      .commit();
  </code></pre>
  
  <p>and get the data in fragment</p>
  
  <pre><code>        Test11 test11 = getArguments().getParcelable("test1");
          Test22 test22 = (Test22) getArguments().getSerializable("test2");
  
          L.e("1", test11.toString());
          L.e("2", test22.toString());
  </code></pre>
  
  <p>it works fine when the app is in normal use.but after I clear the ram and go back to the app, it is crashed by ClassCastException!</p>
  
  <pre><code>  Caused by: java.lang.ClassCastException: test2018.my.mynewtest.Test1 cannot be cast to test2018.my.mynewtest.Test11
      at test2018.my.mynewtest.TestFragment.updateData(TestFragment.java:53)
      at test2018.my.mynewtest.TestFragment.onCreateView(TestFragment.java:42)
      at android.support.v4.app.Fragment.performCreateView(Fragment.java:2439)
      at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1460)
      at android.support.v4.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManager.java:1784)
      at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1852)
      at android.support.v4.app.FragmentManagerImpl.dispatchStateChange(FragmentManager.java:3269)
      at android.support.v4.app.FragmentManagerImpl.dispatchActivityCreated(FragmentManager.java:3229)
      at android.support.v4.app.FragmentController.dispatchActivityCreated(FragmentController.java:201)
      at android.support.v4.app.FragmentActivity.onStart(FragmentActivity.java:620)
      at android.support.v7.app.AppCompatActivity.onStart(AppCompatActivity.java:178)
      at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1256)
      at android.app.Activity.performStart(Activity.java:6959)
      at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2890)
      at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2988) 
      at android.app.ActivityThread.-wrap14(ActivityThread.java) 
      at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1631) 
      at android.os.Handler.dispatchMessage(Handler.java:102) 
      at android.os.Looper.loop(Looper.java:154) 
      at android.app.ActivityThread.main(ActivityThread.java:6682) 
      at java.lang.reflect.Method.invoke(Native Method) 
      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1534) 
      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1424) 
  </code></pre>
  
  <p>The crashed line at</p>
  
  <pre><code> Test11 test11 = getArguments().getParcelable("test1");
  </code></pre>
  
  <p>I want to know how it was caused.
  Thank you!</p>