力扣1662题解

   emmmmm,今天刷力扣题1662,检查两个字符串数组是否完全相等,这时就要说说String和StringBuffer的区别了,String类对象被创建后,包含在这个对象中的字符序列是不可更改的,直到这个对象被销毁,所以使用String类没法对字符串进行频繁的增删改查的操作。要对字符串进行增删改查的话就要用到StringBuffer类,StringBuffer类提供了很多方法用来改变字符串对象的字符序列,一旦通过StringBuffer生成了最终想要的字符串序列,可以通过调用它的toString()方法,将其转化成一个String对象。
   本题就是需要对字符串进行拼接,所以就使用了StringBuffer,最后还要再说下,StringBuffer类没有重写equals方法,所以要比较两个StringBuffer类的字符串,就需要将其转化成String类,使用.toString()或者new String();都可以,接下来就是力扣1662题的代码

class Solution {
    public boolean arrayStringsAreEqual(String[] word1, String[] word2) {
        StringBuffer s1=new StringBuffer();
       StringBuffer s2=new StringBuffer();

       for(String s:word1) {
           s1.append(s);
       }

       for(String s:word2) {
           s2.append(s);
       }
    //因为StringBuffer类没有重写equals方法,所以不能直接s1.equals(s2)
    //也可以(s1.toString()).equals(s2.toString());
       if(new String(s1).equals(new String(s2))) {
           return true;
       }
        else {
            return false;
       }

    }
}
上一篇:Java初学笔记16


下一篇:String和StringBuffer