为什么我的java字符串填充位数空值

2008年4月 Java大版内专家分月排行榜第一
本帖子已过去太久远了,不再提供回复功能。笔者在开发过程中,常常碰到过下面这些错误的用法:
1,错误用法一:
if (name == &&) {
//do something
2,错误用法二:
if (name.equals(&&)) {
//do something
3,错误用法三:
if (!name.equals(&&)) {
//do something
上述错误用法1是初学者最容易犯,也最不容易被发现的错误,因为它们的语法本身没问题,Java编译器编译时不报错。但这种条件可能在运行时导致程序出现bug,永远也不会为true,也就是时说,if块里的语句永远也不会被执行。
上述用法二,用法三 的写法,是包括很多Java熟手也很容易犯的错误,为什么是错误的呢?也许你会感到纳闷。
对,它们的写法本身没错,但是,少了一个null判断的条件,试想,如果name=null的情况下,会发生什么后果呢?后果是,你的程序将抛出NullPointerException异常,系统将被挂起,不再提供正常服务。
当然,如果之前已经对name作了null判断的情况例外。
正确的写法应该先加上name != null的条件,如例:
if (name != null && !name.equals(&&)) {
//do something
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
(1)(1)(4)(1)(12)(5)(3)(5)
(window.slotbydup = window.slotbydup || []).push({
id: '4740887',
container: s,
size: '250,250',
display: 'inlay-fix'java 和 javascript中空值和字符串的比较
<span type="1" blog_id="1677646" userid='
分享到朋友圈
喜欢我的文章,请分享到朋友圈[FAQ]jackson解决:null到&&, 空值处理为空串
1.一个比较头疼的问题:
jackson &#43; spring 支持rest接口,输出的JSON 对于null的字符串是invoiceTitle: null,但是接受方希望返回的是invoiceTitle:
""。解决方法重写ObjectMapper
2.代码如下:
public JsonMapper() {
//this(Include.NON_EMPTY);
// 空值处理为空串
this.getSerializerProvider().setNullValueSerializer(
new JsonSerializer() {
public void serialize(Object value, JsonGenerator jgen,
SerializerProvider provider) throws IOException,
JsonProcessingException {
jgen.writeString("");
3.配置如下:
这样之后,还是不能自动匹配规则把整个的JOSN转为:invoiceTitle: null,》invoiceTitle:
只能通过下面实例实现解决这个问题。
brf.setResultCode(0);
brf.setRows(orderBlocks);
brf.setResultMessage("succeed");
JsonMapper jsonMapper = new JsonMapper();
return jsonMapper.toJson(brf);
注意使用这种方式需要手动设置编码如下:
@RequestMapping(method = RequestMethod.GET, value = "/test",produces = "application/ charset=utf-8")
不知为毛,不定位了。

我要回帖

更多关于 java字符串填充位数 的文章

 

随机推荐