java 板


LINE

1F:→ LaPass:现在我看到Serializable就头大.... 这东西不好用....orz 05/05 15:15
2F:→ LaPass:4板... 有点久不过我先去找来看看 05/05 15:27
3F:推 PsMonkey:敢问 Serializable 哪里不好用? 05/06 01:04
看到libary中有 Serializable 这个东西 通常就是准备一个物件存成档案、透过网路线传到别的地方去之类的 大部分的状况下,用起来还不错 但是我在传的时候常常遇到一种问题 Class T implement Serializable { public int i; public T(int i){this.i =i;} } T t1 = new T(1); T t2 = new T(2); T t3 = new T(3); ArrayList<T> alt = new ArrayList(); alt.add(t1); alt.add(t2); // 把 alt透过ObjectStream传去出 // 这时很正常,对方收到的alt里面的T.i分别是 1、2 t1.i = 4; t2.i = 5; t3.i = 6; alt.add(t3); // 第二次把 alt透过ObjectStream传去出 // 这时就会出问题了,alt里面的T.i是 1 2 6 类似的状况也发生在android中的 Bundle b = getIntent().getExtras(); b.putSerializable(); b.getSerializable(); 这是跨activity传递值的办法 第一次使用Bundle传递Serializable物件时,ok 第二次使用时,就会出问题,收到的值可能会跟传过去的不一样。 要说原理 虽然我没看到解释这种状况的文 但是我猜Serializable在传递Object时,会先检查参照 如果有跟曾经传过的物件的参照一样,就直接使用上一次传过去的值 所以,在用Serializable的时候,不小心的话会出现难以发现的bug -- --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 125.233.155.148
4F:→ qrtt1:呼叫个 reset() 很困难吗@@? 05/06 15:07
5F:→ LaPass:bundle下找不到reset.... 05/06 15:39
6F:→ LaPass:tomcat的session...不清楚 05/06 15:54
7F:→ qrtt1:http://tinyurl.com/bmftcb2 觉得有点眼熟,原来问题变了啊 05/06 17:12
8F:→ qrtt1:Android 用 Bundle 送我倒没试过。等有实战经验再回来分享 05/06 17:13
9F:→ LaPass:是啊,第一次遇到这个问题就是PO qrtt1贴的篇文的时候,第 05/06 18:25
10F:→ LaPass:二次是用android的bundle的时候。第二次的解决方式是,用 05/06 18:32
11F:→ LaPass:基本型值,例如int String 之类的去传 05/06 18:34
12F:推 cuteclare:Bundle 应该有putByteArray getByteArray 05/06 22:09
13F:→ cuteclare:这样应该也可以用 Serializable ba? 05/06 22:10
14F:→ LaPass:已经有put/set Serializable可以用了,但是第二次值会跑掉 05/06 23:16
15F:推 cuteclare:...我的意思是说自己做byte[]->obj的动作 05/07 07:09
16F:→ LaPass:囧" 听起来很麻烦的样子.... 但应该可行 05/07 09:15
17F:推 cuteclare:是还好...大概长http://ideone.com/9KcNb 这样子 05/07 10:40







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Tech_Job站内搜寻

TOP