servlet 问题 谁帮一下不胜感激~~
import java.io.IOException;import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class multichoice extends HttpServlet {
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=GB2312");
request.setCharacterEncoding("gb2312");
PrintWriter out = response.getWriter();
try {
String[] paramValues=request.getParameterValues("checkbox1");
String temp=new String("");
for(int i=0;i<paramValues.length;i++){
temp+=paramValues[i]+" ";
}
out.println("你喜欢的水果有:"+temp+".");
} finally {
out.close();
}
}
标注红色的那部分不明白为什么。temp是String类型的,但是他不是数组啊,怎么for循环里面把一个数组付给他了,For循环完了直接就输出了呢??
----------------解决方案--------------------------------------------------------
只是用它(temp)来保存数据.字符串是可以用加(+)号来进行连接的.
比如说: String str1="abc";
String str2="def";
String str3=str1+str2;
----------------解决方案--------------------------------------------------------
类似的问题前几天好像有人也问过
在Java中“+”既可以作为算术运算符 也可以作为字符串的连接符(正如楼上所说)
当+两侧全是数字的时候 他就用作算术运算符
当+有一侧含有任意字符串时,他就起连接符的作用 同时整个表达式的结果的类型也变成了字符串
例:int a=10,b=20,c=0;
string temp="";
c=a+b;
temp=a+b+"";
注意 第一个表达式的结果是30而第二个表达式的结果是1020
----------------解决方案--------------------------------------------------------
temp是String类型的,但是他不是数组啊,怎么for循环里面把一个数组付给他了,For循环完了直接就输出了呢??
----------------解决方案--------------------------------------------------------
string数据类型相当于是元素为字符的数组
并不是把一个数组付给temp 而是把数组里面的所有值连接起来(注意+的作用)然后赋值给temp
----------------解决方案--------------------------------------------------------
String[] paramValues=request.getParameterValues("checkbox1"); //这里明显是获取了多选筐的结果,故而需要数组存储.
String temp=new String("");
for(int i=0;i<paramValues.length;i++){
temp+=paramValues[i]+" "; //这里楼上他们已经和你解释了,JAVA里的+也可以看做是拼字符串.
}
----------------解决方案--------------------------------------------------------
明白,谢谢了
----------------解决方案--------------------------------------------------------