Java doPost()方法中不熟悉的代码数组行
下面的代码是来自servlet的doPost方法的代码,但并不完整。如您所见,这是从网页获取参数的逻辑,即姓名和出生日期。我确实理解getparameter方法,但在第5行中,它是什么样的数组表示?我不习惯看到这种数组方法。到目前为止,我所习惯或处理的是Java doPost()方法中不熟悉的代码数组行,java,arrays,servlets,Java,Arrays,Servlets,下面的代码是来自servlet的doPost方法的代码,但并不完整。如您所见,这是从网页获取参数的逻辑,即姓名和出生日期。我确实理解getparameter方法,但在第5行中,它是什么样的数组表示?我不习惯看到这种数组方法。到目前为止,我所习惯或处理的是 type[] arrayName = new type[length]; 及 在第五行。为什么数组声明等于某个点运算符和某个方法。请解释,或者,如果有标签或主题名称,对于这种数组表示,请让我知道,我将立即接受培训 protected void
type[] arrayName = new type[length];
及
在第五行。为什么数组声明等于某个点运算符和某个方法。请解释,或者,如果有标签或主题名称,对于这种数组表示,请让我知道,我将立即接受培训
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链接到教程,以备参考
我想我们谈论的是线路:
String dobArray[] = dob_raw.split("\\/");
:
围绕给定正则表达式的匹配项拆分此字符串。
此方法的工作方式类似于通过调用具有
给定的表达式和零的极限参数。尾随空
因此,结果数组中不包括字符串
\\/是正则表达式字符串。认为正则表达式不是真的,而是因为/在java字符串中,它会跳过它的字符。然后又通过正则表达式语言进行了转义,所以实际上,在考虑了所有转义发生的情况之后,就只剩下了。简言之,将字符串分成几段,其除数与/字符匹配。对于表示URI(可能是文件路径,在本例中是日期)的字符串来说,这可能很方便
我想如果你想知道在哪里可以学到更多的东西,你可能会发现正则表达式很有用。String类方法splitString模式声明了内存,它是字符串的实际数组。在字符串数组[]中声明类型,该数组是字符串数组的句柄 你打字的时候 Object objectArray[]=新对象[3];
您有一个句柄objectArray,指向由“new Object[3]”初始化的对象数组。字符串上有一个名为split的方法,该方法返回一个数组,我们所做的就是将该数组分配给变量dobArray。。实际上,我希望第四行类似于字符串dob_raw=request.getParameterdob;对于Katana314,这正是我所期望的,但是这里的导师希望输出到控制台month/date/year…因此我认为选择了数组过程。这是youtube的链接,在7:10不,我理解这一部分。奇怪的是,代码正在检索姓氏参数-与前一行相同。哦,非常抱歉,我键入的是错误的。它实际上应该是字符串dob_raw=request.getParameterdob;请注意,正则表达式中的“\”字符也是转义字符。所以正则表达式\/的意思是:一个literal/。由于in/在正则表达式中不是特殊字符,因此转义实际上是多余的。因此,split\\/将只在“/”上拆分。实际上,我的问题是我们通常声明并初始化或创建一个数组,作为以下类型之一[]arrayName=new type[length];和类型[]arrayName;arrayName=new type[length]或type[]arrayName={1,2,3,4}…但是在第5行中,没有创建数组或没有给它一个长度,我们为什么要分配给=dob_raw.split\\\/@DigitalDave从技术上讲,我们不是在创建阵列。Split创建数组并返回它,我们只需获取返回的数组并将其分配给变量dobArray。然而,如果您想了解拆分是如何实现的,您会看到一行类似于类型arrayName=new-type[length];
String dobArray[] = dob_raw.split("\\/");