电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

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

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

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

省市區三級聯動,位置字符串。

這樣不行

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

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

String provsData = new GetJsonDataUtil().getJson(activity, 'provsData.json');//獲取assets目錄下的json文件數據 String distsData = new GetJsonDataUtil().getJson(activity, 'distsData.json');//獲取assets目錄下的json文件數據 String citysData = new GetJsonDataUtil().getJson(activity, 'citysData.json');//獲取assets目錄下的json文件數據

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

補充知識:關于Java的String字符串常量的長度問題

雖然這種問題應該很難遇到,但是遇到了也會感到莫名其妙。不知道大家有沒有遇到那種在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()); //編譯通過,運行結果為:65534

代碼C

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

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

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

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

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

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

標簽: Android
相關文章:
主站蜘蛛池模板: 浙江筋膜枪-按摩仪厂家-制造商-肩颈按摩仪哪家好-温州市合喜电子科技有限公司 | 香港新时代国际美容美发化妆美甲培训学校-26年培训经验,值得信赖! | 实战IT培训机构_IT培训班选大学生IT技术培训中心_中公优就业 | 济南网站建设|济南建网站|济南网站建设公司【济南腾飞网络】【荐】 | 光纤测温-荧光光纤测温系统-福州华光天锐光电科技有限公司 | 真空干燥烘箱_鼓风干燥箱 _高低温恒温恒湿试验箱_光照二氧化碳恒温培养箱-上海航佩仪器 | 小港信息港-鹤壁信息港 鹤壁老百姓便民生活信息网站 | 扫地车厂家-山西洗地机-太原电动扫地车「大同朔州吕梁晋中忻州长治晋城洗地机」山西锦力环保科技有限公司 | PSI渗透压仪,TPS酸度计,美国CHAI PCR仪,渗透压仪厂家_价格,微生物快速检测仪-华泰和合(北京)商贸有限公司 | 螺杆式冷水机-低温冷水机厂家-冷冻机-风冷式-水冷式冷水机-上海祝松机械有限公司 | 定做大型恒温循环水浴槽-工业用不锈钢恒温水箱-大容量低温恒温水槽-常州精达仪器 | 电镀标牌_电铸标牌_金属标贴_不锈钢标牌厂家_深圳市宝利丰精密科技有限公司 | 电机保护器-电动机综合保护器-上海硕吉电器有限公司 | 不锈钢螺丝 - 六角螺丝厂家 - 不锈钢紧固件 - 万千紧固件--紧固件一站式采购 | 丽陂特官网_手机信号屏蔽器_Wifi信号干扰器厂家_学校考场工厂会议室屏蔽仪 | 车充外壳,车载充电器外壳,车载点烟器外壳,点烟器连接头,旅行充充电器外壳,手机充电器外壳,深圳市华科达塑胶五金有限公司 | Trimos测长机_测高仪_TESA_mahr,WYLER水平仪,PWB对刀仪-德瑞华测量技术(苏州)有限公司 | 耐火砖厂家,异形耐火砖-山东瑞耐耐火材料厂 | 芝麻黑-芝麻黑石材厂家-永峰石业| 精密机械零件加工_CNC加工_精密加工_数控车床加工_精密机械加工_机械零部件加工厂 | 耐酸碱泵-自吸耐酸碱泵型号「品牌厂家」立式耐酸碱泵价格-昆山国宝过滤机有限公司首页 | 流量卡中心-流量卡套餐查询系统_移动电信联通流量卡套餐大全 | 电子元器件呆滞料_元器件临期库存清仓尾料_尾料优选现货采购处理交易商城 | MTK核心板|MTK开发板|MTK模块|4G核心板|4G模块|5G核心板|5G模块|安卓核心板|安卓模块|高通核心板-深圳市新移科技有限公司 | 日本东丽膜_反渗透膜_RO膜价格_超滤膜_纳滤膜-北京东丽阳光官网 日本细胞免疫疗法_肿瘤免疫治疗_NK细胞疗法 - 免疫密码 | 铝机箱_铝外壳加工_铝外壳厂家_CNC散热器加工-惠州市铂源五金制品有限公司 | 贴片电容代理-三星电容-村田电容-风华电容-国巨电容-深圳市昂洋科技有限公司 | 高效节能电机_伺服主轴电机_铜转子电机_交流感应伺服电机_图片_型号_江苏智马科技有限公司 | 轴承振动测量仪电箱-轴承测振动仪器-测试仪厂家-杭州居易电气 | 「安徽双凯」自动售货机-无人售货机-成人用品-自动饮料食品零食售货机 | 制丸机,小型中药制丸机,全自动制丸机价格-甘肃恒跃制药设备有限公司 | 送料机_高速冲床送料机_NC伺服滚轮送料机厂家-东莞市久谐自动化设备有限公司 | 购买舔盐、舔砖、矿物质盐压块机,鱼饵、鱼饲料压块机--请到杜甫机械 | 披萨石_披萨盘_电器家电隔热绵加工定制_佛山市南海区西樵南方综合保温材料厂 | 恒温油槽-恒温水槽-低温恒温槽厂家-宁波科麦仪器有限公司 | 欧美日韩国产一区二区三区不_久久久久国产精品无码不卡_亚洲欧洲美洲无码精品AV_精品一区美女视频_日韩黄色性爱一级视频_日本五十路人妻斩_国产99视频免费精品是看4_亚洲中文字幕无码一二三四区_国产小萍萍挤奶喷奶水_亚洲另类精品无码在线一区 | 定硫仪,量热仪,工业分析仪,马弗炉,煤炭化验设备厂家,煤质化验仪器,焦炭化验设备鹤壁大德煤质工业分析仪,氟氯测定仪 | 私人别墅家庭影院系统_家庭影院音响_家庭影院装修设计公司-邦牛影音 | 天津热油泵_管道泵_天津高温热油泵-天津市金丰泰机械泵业有限公司【官方网站】 | 高压负荷开关-苏州雷尔沃电器有限公司 | 电脑知识|软件|系统|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网 |