ASP.NET MVC中如何用httpContext.session.set存储字符值?
解决HttpContext.Session存储单个字符的问题
因为当前Session API没有提供专门的setChar方法,你可以通过以下两种方式实现单个字符的存储:
方法1:将字符转为字符串存储(推荐)
利用已有的setString方法,把单个字符转换成字符串存入,读取时再转回字符:
// 存储单个字符 httpContext.session.setString("myChar", String.valueOf('x')); // 读取并转回字符 char targetChar = httpContext.session.getString("myChar").charAt(0);
方法2:使用set方法存储包装类型
如果坚持用set方法,需要将基本类型char自动装箱为Character对象(Java会自动处理),读取时强制转换后拆箱:
// 存储字符(自动装箱为Character) httpContext.session.set("myChar", 'x'); // 读取字符 Character charObj = (Character) httpContext.session.get("myChar"); char targetChar = charObj != null ? charObj : ' '; // 处理null情况
如果之前用set方法失败,大概率是读取时没有正确做类型转换,或者存储时传入的不是可序列化的类型(Character是Serializable的,所以没问题)。
内容的提问来源于stack exchange,提问作者Varun Gupta
相关产品推荐
相关产品推荐

