永发信息网

java中的 特殊字符处理 不知道怎么做我无从下手

答案:5  悬赏:40  手机版
解决时间 2021-04-28 03:37

此题怎么做哦?

(1) 开发过程中经常遇到输出某种编码的字符,如iso8859-1等,如何输出一个某种编码的字符串?提示:String tempStr = new String(str.getBytes("ISO-8859-1"), "GBK");可以进行字符

我对这个很不熟悉了 还有个很低级的问题

(3) 下面代码一共创建了几个对象?
String s1 = "zah";
String s2 = s1;
String s3 = "zah";

String s3 = new String("zah");

请问应该是多少了 模糊了 请大家给点解答嘛 呵呵

最佳答案
String s1 = "zah"; //他不是对象是在内存中的string池中存放的数据
String s2 = "s1"; //他不是对象是在内存中的string池中存放的数据
String s3 = "zah";//他不是对象存放在String池中的数据首先会去到池中找有没有相同的数据如果有就把数据的引用拿来,如果没有再次创建

String s3 = new String("zah");//他有两个对象一个是Object对象,一个String对象,String对象在内存的堆栈中创建了String对象至于网上说的他在内存池先存放了一份,在把副本放到堆中这个事情我不做评论应为理解不同作出的解释也不同但是很多书上也没有像他说在池中放了一份,有做副本放在了堆中。

全部回答

后面一个问题是4个 有3个字符对象引用对象 S1,S2,S3, 一个字符对象"zah";

是两个对象 前三个都是指向Stirng对象“zah”的变量 第4个又构造了一个新的String对象“zah" 在内存堆中实际只有两个”zah“ 而s1234 只是指向他们的变量

第二个问题共创建了3个对象。因为s1和s3是一个对象。其他的都创建了新的对象。

String tempStr = new String(str.getBytes("ISO-8859-1"), "GBK");

str.getBytes("ISO-8859-1"), 是将str转换成ISO-8859-1的字节集合

然后把这个集合从新组件成GBK的字符串

下面那个问题 是三个对象 分别是是s1 s2 s3

只是s1 s2都是引用了同一个资源 而在最后是new 从新在开辟了一个资源而已

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
请问000511银基发展以6.1元买入,后市如何操
一汽轿车股份有限公司---行业分析????
家庭教师reborn 197动漫什么时候出呢? 也是一
嘴子田地址在哪,我要去那里办事
现在这个社会什么行业赚钱?
Black Seven Nights 怎么改成CF站队名字 加点
慕容紫英喜欢沙沙吗??理由
如何克制游侠合体?
高中是数学怎么这么难
QQ上的好友怎么删不掉,QQ重装了也不能删除。
华硕和联想哪一款笔记本电脑比较好
网恋,值得相信吗?
压缩包软件如何安装,压缩包 解压后 怎么安装
德中大道主要是展示德国的东西么?
QQ发信息完对话框自动关闭为什么取消不掉
推荐资讯
有没有谁知道东莞哪个地方可以求平安符啊?
成都那里有便宜的房子租
魔兽世界正版模型第三代价格
晏紫的ATP综合实力排名好多名?
新郑至郑的随车电话多少?
哪个好心人给我个爱心墙种子
长沙金毛幼犬价格!
我已经成功注册博客了,下次怎么进入?
前两天在苏宁买的电脑 买回来之后觉的价位不
come up和come up with的语法
魔域现在比以前有什么不同了?
疯狂猜成语围墙里面有一根竹子
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?