ClassCastException: java.lang.String cannot be cast : I need help. I have two methods of shared preference. They are getList and setList.

This is setList()

     public static void setList(Application activity, List<tcmb> mValuesList) {
    
            StringBuilder valuesBuilder = new StringBuilder();
            /*Log.d(TAG, "List Size ------ \t: " + mValuesList.size());*/
            for (tcmb s : mValuesList) {
                valuesBuilder.append(s);
                valuesBuilder.append(",");
                Log.d(TAG, "setValuestcmb: " + valuesBuilder.toString());
            }
            SharedPreferences values = activity.getSharedPreferences("dd", MODE_PRIVATE);
            SharedPreferences.Editor editor = values.edit();
            editor.putString("ss", valuesBuilder.toString());
            editor.apply();
        }

This is getList()


    public static List<tcmbDoviz> getValuesAltın(Activity a) {
            SharedPreferences values = a.getSharedPreferences("dd", MODE_PRIVATE);
            String wordsString = values.getString("ss", "");
           /* Log.d(TAG, "wordsString \t:" + wordsString);*/
           String[] itemWords = wordsString.split(",");
           List<String> itemList = new ArrayList<String>();
           itemList.addAll(Arrays.asList(itemWords));

            List<String> itemsList = new ArrayList<>();
            dovizList = (List)itemsList;
            Log.d(TAG, "getValuesAltın: " + dovizList.size());
            
            return dovizList;
    
        }

For the values I got, I run the setList method in the asyncTask class of Main Activity that assigns to shared preference.
Then for I get to values, I run the getList method in the asyncTask class of Fragment.
And I get the object values.namely, I can see the values I get from the logcat.

    [com.example.lscodex.ddddd.Model.tcmb@4ff695, com.example.lscodex.ddddd.Model.tcmb@b6b93aa, com.example.lscodex.ddddd.Model.tcmb@347db9b, com.example.lscodex.ddddd.Model.tcmb@f63eb38, com.example.lscodex.ddddd.Model.tcmb@4866711, com.example.lscodex.ddddd.Model.tcmb@8c74076, com.example.lscodex.ddddd.Model.tcmb@3be9677, com.example.lscodex.ddddd.Model.tcmb@10882e4, com.example.lscodex.ddddd.Model.tcmb@8d9634d, com.example.lscodex.ddddd.Model.tcmb@b5eee02, com.example.lscodex.ddddd.Model.tcmb@b7c2313, com.example.lscodex.ddddd.Model.tcmb@a3ce950, com.example.lscodex.ddddd.Model.tcmb@ee5e749, com.example.lscodex.ddddd.Model.tcmb@fd1e84e, com.example.lscodex.ddddd.Model.tcmb@b7bdd6f, com.example.lscodex.ddddd.Model.tcmb@40f4a7c, com.example.lscodex.ddddd.Model.tcmb@b1caf05, com.example.lscodex.ddddd.Model.tcmb@b683b5a, com.example.lscodex.ddddd.Model.tcmb@f12e18b]

totally 19 values. 
But when I cast values to recylerView's bindHolder in the fragment class, I get an error is that

    java.lang.ClassCastException: java.lang.String cannot be cast to com.example.lscodex.ddddd.Model.tcmb

This is asyncTask from fragment

    private class DownloadXmlTask extends AsyncTask<Void, Integer, List<tcmb>> {
    
            @Override
            protected void onPreExecute() {
                super.onPreExecute();
                mProgressBar.setVisibility(View.VISIBLE);
            }
    
            @Override
            protected List<tcmb> doInBackground(Void... voids) {
    
               return SharedPreferenceValues.getList(getActivity());
            }
    
            @Override
            protected void onPostExecute(List<tcmb> tcmb) {
                if (tcmb.size() == 0) {
                   
                    mtcmbList = tcmb;
                    setupAdapter();
    
                    mRecyclerViewAnim.runLayoutAnimation(getContext(), mRecyclerView);
                    mProgressBar.setVisibility(View.INVISIBLE);
    
                } else if (mRecyclerView != null) {
                   
                    mtcmbList.addAll(tcmb);
                    Log.d(TAG, "onPostExecute: " + mtcmbList.size());
                    mRecyclerView.getAdapter().notifyDataSetChanged();
                    dateUpdate();
    
                    mRecyclerViewAnim.runLayoutAnimation(getContext(), mRecyclerView);
                    mProgressBar.setVisibility(View.INVISIBLE);
                    mSwipeRefreshLayout.setRefreshing(false);
                }
            }
    
        }


and the place where I got the error.

     @Override
            public void onBindViewHolder(tcmbHolder holder, int position) {
                tcmb tcmb= mtcmbList.get(position); ---- the error here
                holder.bindTcmb(tcmb);

I don't know why? 