Sul*_*oks 0 java string resize
只是好奇我将如何添加一个字母或字符预先存在string.
这是我想要做的,
我正在取一个密钥及其密文并减去它们的值(存储在arraylist中)以找到明文值(我得到一个int,然后使用它来查找arraylist中的String值)然后继续这样做两个字符串中的每个字母(密码和密钥).
这是可能的,还是我必须使用substring这些或类似的东西.
任何关于如何做到这一点的建议,或者对我最初的问题的答案都非常感谢!
谢谢,
你看过了吗?
建议不要在String对象中添加字符,因为String是不可变的,每次都会创建一个新对象(如果你创建的字符串不在String池中)
更新:
如果您也在寻找性能,(并且通过任何更改,您的程序中有很多字符串比较),这是我的建议:
用strRef1 == strRef2而不是strRef1.equals(strRef2)
因为,String不可变和String池的概念,字符串的引用总是相等所以如果
strRef1.equals(strRef2)返回true strRef1 == strRef2应始终返回true.
例外:如果你明确地创建一个新的字符串,这将不起作用
strRef2 = new String();
由于字符串是最终的(设计为不可变的),因此您需要每次创建新字符串。对于重复次数,我建议使用StringBuilder,然后(在添加所有字符之后)通过toString()- 方法将其转换为字符串。