下面的代码是来自servlet的doPost方法的代码,但它不完整。正如您所看到的,它是从网页获取参数的逻辑,这是姓名和出生日期的名字和姓氏。我理解getparameter()方法,但在第5行,它是什么样的数组表示?我不习惯看到这种Array方法。到目前为止我习惯或处理的是。
type[] arrayName = new type[length];
和
type[] arrayName;
arrayName = new type[length]
在第5行。为什么数组声明等于某个点运算符和某些方法。请解释或者,如果有标签或主题名称,对于这种阵列表示,请告诉我,我会快速上课。
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String firstName = request.getParameter("first-Name");
System.out.println("Firstname:" + firstName);
String lastname = request.getParameter("last-name");
String dob_raw = request.getParameter("dob");
String dobArray[] = dob_raw.split("\\/");
String month = dobArray[0];
String day = dobArray[1];
String year = dobArray[2];
}
youtube链接到教程,以防您想参考 https://www.youtube.com/watch?v=e7rSurdKrlk&index=14&list=PLTo_YL4Dk4Z_SxrG0XwbE1pGYyehh9gX3
答案 0 :(得分:1)
我认为我们正在谈论这条线:
String dobArray[] = dob_raw.split("\\/");
围绕给定正则表达式的匹配拆分此字符串。 此方法的工作方式就像通过调用双参数split方法一样 给定的表达式和一个零的限制参数。尾随空 因此,字符串不包含在结果数组中。
" \\ /"是一个正则表达式字符串。考虑到正则表达式不是真的" \\ /"而是" \ /"因为\在java字符串中会转义取代它的字符。 " \ /"然后再次通过正则表达式语言进行转义,所以你真的只剩下" /"一旦你考虑了所有逃脱的事件。简而言之,将字符串分成多个部分,其除数与/字符匹配。对于表示URI的字符串,可能是文件路径,或者在这种情况下,日期,这可能很方便。
我想如果你想知道哪些地方可以了解更多信息,there is a straightforward tutorial就可能会觉得有用的正则表达式。
答案 1 :(得分:0)
String类方法" split(String pattern)"声明内存是实际的字符串数组。您在String dobArray []中声明了类型,它是字符串数组的句柄。
键入时 Object objectArray [] = new Object [3]; 你有一个句柄objectArray,用于由' new Object [3]'
初始化的对象数组答案 2 :(得分:-1)
String上有一个名为split()的方法,它返回一个数组,我们所做的就是将该数组赋值给变量dobArray。