どのように私は、別名ではない文字列のコピーが、文字列を構成するすべての文字のコピーを作成することができますか?

テッドのpottel:

私は、文字列のコピーを作成して、文字列全体を変更せずにコピーに変更を行う能力を持っていると思います。私が使用してみましたString strTemplateTemp=new String(strTemplate);代わりにString strTemplateTemp=strTemplate;、私も使ってみましたcloneが、cloneメソッドは見えなかったというエラーを得ました:String strTemplateTemp=strTemplate.clone();

私のコード

DefaultListModel<String> getAllMacrows()
{
    DefaultListModel<String> rows= new DefaultListModel<String>();
    int pes=0;
    int nameStart;
    int parEnd;     
    String row;
    String strTemplateTemp=new String(strTemplate);

    strTemplateTemp=strTemplateTemp.replace("\n"," ");
    // now both strTemplateTemp and  strTemplate have chnaged
    // want just strTemplateTemp to chnage
SDJ:

JavaではStringインスタンスである不変、文字列を変更することはできませんので、(すなわち、副作用を持っています)。声明:

 strTemplateTemp=strTemplateTemp.replace("\n"," ");

新しい文字列を作成し、変数に新しい文字列への参照を割り当てますstrTemplateTemp

文字列は一定です。それらが作成された後、それらの値を変更することはできません。文字列バッファは可変文字列をサポートしています。Stringオブジェクトは不変であるので、それらを共有することができます。java.lang.Stringで

参照この記事の詳細については。

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=333750&siteId=1