Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/445.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从JavaScript理解Java语法_Javascript_Java_Syntax - Fatal编程技术网

从JavaScript理解Java语法

从JavaScript理解Java语法,javascript,java,syntax,Javascript,Java,Syntax,我给自己买了一本《破解密码面试》,希望借此提高我的算法技能。我相当精通JavaScript,但无法理解本书开头的以下片段。它创建了一个动态数组,但有几件事我需要一些帮助来理解 1) 想必这个方法是类的一部分? 2) ArrayList有什么作用,为什么它会出现3次? 3) 为什么字符串后面有[] 如果有人能对JavaScript的语法部分进行详细分析(主要是上面提到的那些部分),那就太好了。将其翻译成JavaScript也会非常有帮助 public ArrayList<String>

我给自己买了一本《破解密码面试》,希望借此提高我的算法技能。我相当精通JavaScript,但无法理解本书开头的以下片段。它创建了一个动态数组,但有几件事我需要一些帮助来理解

1) 想必这个方法是类的一部分? 2)
ArrayList
有什么作用,为什么它会出现3次? 3) 为什么字符串后面有
[]

如果有人能对JavaScript的语法部分进行详细分析(主要是上面提到的那些部分),那就太好了。将其翻译成JavaScript也会非常有帮助

public ArrayList<String> merge(String[] words, String[] more) {
    ArrayList<String> sentence = new ArrayList<String>();
    for (String w : words) sentence.add(w);
    for (String w : more) sentence.add(w);
    return sentence;
}
publicArrayList合并(字符串[]单词,字符串[]更多){
ArrayList语句=新的ArrayList();
对于(字符串w:单词)句子,添加(w);
对于(字符串w:更多)句子,添加(w);
返回判决;
}

该方法被称为
ArrayList
,因为它返回由字符串组成的类
ArrayList
的对象。一般来说,Java数组的长度是固定的,但是类
ArrayList
的对象是动态的,这意味着它的长度是变化的

它再次用于将句子定义为
ArrayList
类中的一个对象,
表示它由字符串组成

您可以看到该方法接受两个参数
String[]
s这只是一个字符串的Java数组。(记住Java中的数组是静态长度)

.add
是一种方法,可由
ArrayList
的对象用于添加元素

然后将单词添加到句子中,然后返回句子

在Python中,我会这样做:

import numpy as np    
words = some list
more = some list 
def merge(x, y):
     sentence = np.array([])
     for w in x:
           sentence = np.append(sentence, w)
     for w in y:
           sentence = np.append(sentence, w)
     return sentence

你试着运行它并让我们知道如何?不,我们不会为你翻译成另一种语言。我不确定你认为这能达到什么目的,但这绝对不是学习的目的。我敢打赌,如果你自己尝试,翻译对你会更有帮助。也许你应该在尝试“解码”代码之前先学习语言的基础知识?这只是我的拙见,我没有对这个问题投过任何票,但是,对于任何类型的编码来说,公然不愿意学习基础知识似乎都不是一个很好的起点。你们的问题是合理的,但这是教程的目的,而不是它的目的。谢谢。我很快就会尝试Python版本。没有给出原因的否决投票对我来说是非常没有帮助的——当有人匿名声称“知道得更好”,但没有解释假定的缺陷时,我如何判断这个答案的质量(我假设这个答案非常好)?