首页 > Web开发 > 详细

JSP中 何时用out.write() 何时用out.print()以及他们的区别

时间:2021-06-07 20:28:39      阅读:21      评论:0      收藏:0      [点我收藏+]

JSP中 何时用out.write() 何时用out.print()以及他们的区别

PrintWriter out = response.getWriter();

JSP的out.print()等价于 servlet的resp.getWriter().print();

JSP的out.write()等价于 servlet的resp.getWriter().write();

 

out.write()是字节输出流的方法 out.print()是字符输出流的方法

 

//out.print(obj)其源码如下:
   
public void print(Object obj) {
   write(String.valueOf(obj));
}
?
public void print(String s) {
   if (s == null) {
       s = "null";
  }
   write(s);
}
?
// out.write(String)源码如下:
public void write(int c){
  ...
   writeBuffer[0] = (char) c;
  ...
}
//注: 1. 当整型数据转换为字符时, 其中1-32是一些特殊符号, 不会显示出来. 2. 如果传入null值, 会报错
?

可见:print做了空处理,而write打印空字符串系统将会抛出空指针异常,所以尽量使用print方式。

 

  1. print方法是Writer子类中的方法,write是Writer类中定义的方法;

  2. 重载的print方法可将各种类型的数据转换成字符串的形式输出,而重载的write方法只能输出字符、字符数组和字符串等与字符相关的数据; 因此如果参数是数字 print会正常打印字符串,而write会打印字符对应ascii码

  3. Writer类型的out对象使用print方法和write方法都可以输出字符串,但是,如果字符串对象的值为null时,print方法将输出内容为“null”的字符串,而write方法则是抛出NullPointerException异常。

JSP中 何时用out.write() 何时用out.print()以及他们的区别

原文:https://www.cnblogs.com/sky-book/p/14859490.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!