最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

android studio錯(cuò)誤: 常量字符串過長的解決方式

 更新時(shí)間:2020年04月28日 09:07:05   作者:小剛學(xué)編碼  
這篇文章主要介紹了android studio錯(cuò)誤: 常量字符串過長的解決方式,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧

android studio 錯(cuò)誤: 常量字符串過長錯(cuò)誤

省市區(qū)三級聯(lián)動(dòng),位置字符串。

這樣不行

改用json方案 ,讀取array中文件

  String provsData = new GetJsonDataUtil().getJson(activity, "provsData.json");//獲取assets目錄下的json文件數(shù)據(jù)
  String distsData = new GetJsonDataUtil().getJson(activity, "distsData.json");//獲取assets目錄下的json文件數(shù)據(jù)
  String citysData = new GetJsonDataUtil().getJson(activity, "citysData.json");//獲取assets目錄下的json文件數(shù)據(jù)
public class GetJsonDataUtil {


  public String getJson(Context context, String fileName) {

    StringBuilder stringBuilder = new StringBuilder();
    try {
      AssetManager assetManager = context.getAssets();
      BufferedReader bf = new BufferedReader(new InputStreamReader(
          assetManager.open(fileName)));
      String line;
      while ((line = bf.readLine()) != null) {
        stringBuilder.append(line);
      }
    } catch (IOException e) {
      e.printStackTrace();
    }
    return stringBuilder.toString();
  }
}

補(bǔ)充知識:關(guān)于Java的String字符串常量的長度問題

雖然這種問題應(yīng)該很難遇到,但是遇到了也會(huì)感到莫名其妙。不知道大家有沒有遇到那種在java代碼里用字符串寫sql語句的情況,但是如果sql語句字符串的長度太長的話就會(huì)報(bào)錯(cuò)。

代碼如下:

代碼A

String str = "567890123456789...0123456789";//由于字符串長度太長,所以省略一部分,長度是65535
System.out.println(str.length()); //編譯報(bào)錯(cuò):Error:(14, 22) java: 常量字符串過長

代碼B

String str = "67890123456789...0123456789";//由于字符串長度太長,所以省略一部分,長度是65534
System.out.println(str.length()); //編譯通過,運(yùn)行結(jié)果為:65534

代碼C

String str = "67890123456789...0123456789";//由于字符串長度太長,所以省略一部分,長度是65534
str = "5" + str;
System.out.println(str.length());  //編譯通過,運(yùn)行結(jié)果為:65535

String內(nèi)部是以char數(shù)組的形式存儲(chǔ),數(shù)組的長度是int類型,那么String允許的最大長度就是Integer.MAX_VALUE = 2^31 - 1 = 2147483647。又由于java中的字符是以16位存儲(chǔ)的,因此大概需要4GB的內(nèi)存才能存儲(chǔ)最大長度的字符串。

不過這僅僅是對字符串變量而言,如果是字符串常量,如“abc”、”1234”之類寫在代碼中的字符串str,那么允許的最大長度取決于字符串在常量池中的存儲(chǔ)大小,也就是字符串在class格式文件中的存儲(chǔ)格式:

CONSTANT_Utf8_info {
  u1 tag;
  u2 length;
  u1 bytes[length];
}

u2是無符號的16位整數(shù),因此理論上允許的string str的最大長度是2^16-1=65535。然而實(shí)際測試表明,允許的最大長度僅為65534,超過就編譯錯(cuò)誤。

以上這篇android studio錯(cuò)誤: 常量字符串過長的解決方式就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Android分享微信小程序失敗的一些事小結(jié)

    Android分享微信小程序失敗的一些事小結(jié)

    這篇文章主要給大家介紹了關(guān)于Android分享微信小程序失敗一些事,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-11-11
  • Android popupWindow彈出窗體實(shí)現(xiàn)方法分析

    Android popupWindow彈出窗體實(shí)現(xiàn)方法分析

    這篇文章主要介紹了Android popupWindow彈出窗體實(shí)現(xiàn)方法,結(jié)合具體實(shí)例形式分析了Android彈出窗體的布局及popupwindow屬性設(shè)置、事件監(jiān)聽相關(guān)操作技巧,需要的朋友可以參考下
    2017-07-07
  • Window下adb shell中文亂碼問題解決方法

    Window下adb shell中文亂碼問題解決方法

    這篇文章主要介紹了Window下adb shell中文亂碼問題解決方法,本文講解了出現(xiàn)這個(gè)問題的原因以及解決方法,需要的朋友可以參考下
    2015-04-04
  • Android Activity被回收的情況分析

    Android Activity被回收的情況分析

    Activity作為Android四大組件之一,他的啟動(dòng)絕對沒有那么簡單。這里涉及到了系統(tǒng)服務(wù)進(jìn)程,啟動(dòng)過程細(xì)節(jié)很多,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值
    2022-11-11
  • 仿網(wǎng)易新聞客戶端頭條ViewPager嵌套實(shí)例

    仿網(wǎng)易新聞客戶端頭條ViewPager嵌套實(shí)例

    正確使用requestDisallowInterceptTouchEvent(boolean flag)方法,下面為大家介紹下外層ViewPager布局的實(shí)例,感興趣的朋友可以參考下哈
    2013-06-06
  • Android FrameWork之Zygote啟動(dòng)示例詳解

    Android FrameWork之Zygote啟動(dòng)示例詳解

    這篇文章主要為大家介紹了Android FrameWork之Zygote啟動(dòng)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-07-07
  • Android開發(fā)之WebView組件的使用解析

    Android開發(fā)之WebView組件的使用解析

    WebView 類是 WebKit 模塊 Java 層的視圖類, 所有需要使用 Web 瀏覽功能的Android應(yīng)用程序都要?jiǎng)?chuàng)建該視圖對象顯示和處理請求的網(wǎng)絡(luò)資源,接下來將詳細(xì)介紹,需要了解的朋友可以參考下
    2012-12-12
  • Android ViewBinding的使用詳解

    Android ViewBinding的使用詳解

    這篇文章主要介紹了Android ViewBinding的使用詳解,幫助大家更好的理解和學(xué)習(xí)使用Android,感興趣的朋友可以了解下
    2021-04-04
  • Flutter實(shí)現(xiàn)矩形取色器的封裝

    Flutter實(shí)現(xiàn)矩形取色器的封裝

    這篇文章主要為大家詳細(xì)介紹了Flutter實(shí)現(xiàn)矩形取色器的封裝,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • Android實(shí)現(xiàn)輪播效果的兩種方法

    Android實(shí)現(xiàn)輪播效果的兩種方法

    這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)輪播效果的兩種方法,使用ViewPager和SliderLayout第三方進(jìn)行實(shí)現(xiàn)輪播,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-02-02

最新評論

固始县| 宝应县| 武功县| 乳源| 称多县| 麻江县| 宁城县| 谷城县| 稻城县| 乐安县| 宾阳县| 旬阳县| 平遥县| 侯马市| 汪清县| 六安市| 灵宝市| 卢湾区| 云和县| 安溪县| 天津市| 阿拉善左旗| 广灵县| 天祝| 外汇| 敦煌市| 康定县| 海口市| 邳州市| 麻栗坡县| 若羌县| 通江县| 海阳市| 汕尾市| 福鼎市| 遂宁市| 德化县| 衡阳县| 南通市| 石门县| 富川|