国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術(shù)文章
文章詳情頁

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

瀏覽:87日期:2022-09-24 15:37:58

android studio 錯誤: 常量字符串過長錯誤

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

這樣不行

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

改用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(); }}

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

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

代碼如下:

代碼A

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

代碼B

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

代碼C

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

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

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

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

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

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

標簽: Android
相關(guān)文章:
主站蜘蛛池模板: 国产成人免费手机在线观看视频 | 日韩一区二区视频在线观看 | 一级欧美过瘾大片 | 成人做爰| 高清一本之道加勒比在线 | 一区二区三区在线视频观看 | 精品在线免费视频 | 亚洲成人在线免费 | 国产成人a一在线观看 | 久久精品一区二区免费看 | 免费看真人a一级毛片 | 欧美成人性生活视频 | 国产手机国产手机在线 | 91高端极品外围在线观看 | 欧美三级视频在线观看 | 国产免费久久精品久久久 | 三级视频网站在线观看播放 | 黄色a∨| 国产高清视频在线观看 | 成年人网站免费视频 | 13一14周岁毛片免费 | 国产精品三级在线观看 | 真人一级一级特黄高清毛片 | 亚洲伊人久久综合影院2021 | 亚洲最大网站在线 | 国内精品不卡一区二区三区 | 中文字幕视频在线 | 美国一级毛片片aaa 美国一级毛片片aa成人 | 欧美成人性色生活片天天看 | 久久91综合国产91久久精品 | 国内真实愉拍系列情侣 | a级片在线 | 男人的天堂中文字幕 | 欧美成人性做爰网站免费 | 成年网站免费 | 国产午夜精品久久久久小说 | 久久精品6 | 国产精品国产精品国产三级普 | 国产20岁美女一级毛片 | 99精品在线观看 | 免费男女乱淫真视频播放 |