千家信息网

如何分析Android SDK中String的坑

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,本篇文章给大家分享的是有关如何分析Android SDK中String的坑,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。Android
千家信息网最后更新 2026年11月01日如何分析Android SDK中String的坑

本篇文章给大家分享的是有关如何分析Android SDK中String的坑,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

Android SDK中String的坑

最近一直在查项目中一个SDK相关的bug,我们通过C#代码给java层传入一个string,然后在java层解析出对应的json数据。在使用JSONObject的时候抛出了一个异常"System.err: org.json.JSONException: End of input at character 0 of"。

public void Sample(String json)
{
JSONObject jsonObj;
try
{
jsonObj = new JSONObject(json);
}
catch (JSONException e)
{
QLog.Log(e.toString());
return;
}
QLog.Log(json.toString());
}

最终我们定位到是上面代码的

jsonObj = new JSONObject(json);

既然出了问题,我们就做了一个安全判断,在传入null或者空串""的时候跳过执行。于是就有了下面这个代码。

if(json == null || json == "")
{
QLog.Log("json is null or empty.");
return;
}

但是我们运行代码,发现该行代码并没有被执行到。仍然走到了Json解析的地方,并且抛出了异常。我们在C#层打了log,发现传入的值就是空串""。但是java层判断空串""却没有执行到。因此果断搜了java层string的判断接口。终于让真相浮出了水面。

下面是java层string的比较结果。

字符串s1==null,s1不指向堆中任何内存空间,返回true
字符串s1==s2,s1和s2内容一样且s1和s2的内存地址一样,返回true
字符串s1.equals(s2),s1和s2的内容一样,返回true
字符串s1.isEmpty(),s1的长度为0,返回true(String s1=""; s1.isEmpty()是true

C#层判断两个字符串是否相等,其实大部分都是直接用==来判断值是否相等的。如果要判断内存地址是否相等是需要调用ReferenceEquals判断的。

string.ReferenceEquals(s1,s2);

也就是说C#是通过==来判断值相等,通过ReferenceEquals来判断内存地址是否相等。

但是java是通过equal来判断值相等,通过==来判断内存地址是否相等。

平时我们用惯了C#的写法,这里就想当然的用来C#的字符串处理的习惯,需要注意!!!

以上就是如何分析Android SDK中String的坑,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。

字符 字符串 代码 内存 C# 地址 空串 分析 内容 就是 时候 更多 知识 篇文章 实用 果断 安全 想当然 两个 也就是 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 南京欣网互联网络科技有限公司 上海睿民互联网科技有限公司 高科技互联网 港股互联网科技股 互联网公司 科技公司 以房互联网科技 互联网与未来科技 狮子座互联网科技有限公司 百单互联网科技有限公司 互联网之后的科技是什么 阿里互联网科技公司 互联网科技创新服务 四川慕妮娅互联网科技有限公司 互联网科技公司营业执照怎么办理 黑云互联网科技有限公司 互联网科技数字货币 工业互联网科技创业 银川新华互联网科技学校是国营吗 长沙渺峰互联网科技有限公司 山东蛋芒互联网科技有限公司 多迪互联网科技有限公司 互联网 科技服务平台 宁波青枫互联网科技有限公司 常德市电业局互联网科技部 华夏恒生互联网科技013171 特约风豹互联网科技为什么扣费 江苏互联网智能科技产品出厂价 互联网科技平台产品运营 互联网科技自媒体灵感 六子台科技互联网展会
0