日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android基础字符串String.md

發布時間:2023/12/20 Android 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android基础字符串String.md 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

問題拋出

String這個常量在我們代碼中會經常被用到,那么我們了解 String stringbuffer StringBudilder三者之間的區別嗎

問題解答

  • String 字符串常量,位于常量池
  • stringbuffer 字符串變量 不同步適用于單線程 位于字符串緩沖區
  • StringBudilder字符串變量 同步適用于多線程 位于字符串緩沖區

1. string類型的2種賦值

String s1= "222"; //直接在常量池中開辟一個地址,如果有相同的則指向同一個地址 String s2=new String("223"); //直接在堆里面新建一個

通過new關鍵字來生成對象是在堆區進行的,而在堆區進行對象生成的過程是不會去檢測該對象是否已經存在的。因此通過new來創建對象,創建出的一定是不同的對象,即使字符串的內容是相同的。

2. 為什么已經有了String還需要有stringbuffer /StringBudilder

public class Main {public static void main(String[] args) {String string = "";for(int i=0;i<10000;i++){string += "hello";}} } public class Main {public static void main(String[] args) {StringBuilder stringBuilder = new StringBuilder();for(int i=0;i<10000;i++){stringBuilder.append("hello");}} }

上面第一個是每次都會創建一個新地址用來存儲,所以會導致真個遍歷過程十分要創建很多次,而使用stringBuilder就只會創建一次,,大大節省時間和內存空間;

4 StringBuilder與 StringBuffer

 StringBuilder:線程非安全的
 StringBuffer:線程安全的
 當我們在字符串緩沖去被多個線程使用是,JVM不能保證StringBuilder的操作是安全的,雖然他的速度最快,但是可以保證StringBuffer是可以正確操作的。當然大多數情況下就是我們是在單線程下進行的操作,所以大多數情況下是建議用StringBuilder而不用StringBuffer的,就是速度的原因。

轉載于:https://www.cnblogs.com/prophet-it/p/7561816.html

總結

以上是生活随笔為你收集整理的Android基础字符串String.md的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。