doPost()方法中不熟悉的Array代码行

时间:2015-03-10 13:38:13

标签: java arrays servlets

下面的代码是来自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

3 个答案:

答案 0 :(得分:1)

我认为我们正在谈论这条线:

String dobArray[] = dob_raw.split("\\/");

According to String javadoc

  

围绕给定正则表达式的匹配拆分此字符串。   此方法的工作方式就像通过调用双参数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。