【问题标题】:Understanding Java Syntax from JavaScript [closed]从 JavaScript 理解 Java 语法 [关闭]
【发布时间】:2017-04-19 21:29:38
【问题描述】:

我给自己买了一本《Cracking the Coding Interview》,希望借此提高我的算法技能。我对 JavaScript 相当精通,但无法理解本书开头附近的以下 sn-p。它创建了一个动态数组,但有几件事我需要一些帮助来理解。

1) 大概这个方法是一个类的一部分? 2)ArrayList<String>是做什么的,为什么会出现3次? 3) 为什么String后面有[]

如果有人能对 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;
}

【问题讨论】:

  • 您尝试运行它并告诉我们如何?
  • 不,我们不会为您将其翻译成另一种语言。我不确定你认为这会完成什么,但绝对不会是什么学习。
  • 我敢打赌,如果您自己尝试,翻译对您的帮助会更大。
  • 也许您应该在尝试“解码”代码之前学习有关该语言的基础知识?
  • 只是我的拙见,我没有在这个问题上以任何方式投票,但是公然不愿学习基础知识似乎不是开始任何编码的好地方。你的问题是合理的,但这是教程的目的,而不是 SO 的目的。

标签: javascript java syntax


【解决方案1】:

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

它再次用于将句子定义为来自ArrayList 类和&lt;string&gt; 的对象以表示它由字符串组成。

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

.addArrayList的对象可以用来添加元素的方法。

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

在 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 版本。
  • 在没有给出理由的情况下投反对票对我来说非常没有帮助 - 当有人匿名声称“知道得更好”但没有'不解释所谓的缺陷?
猜你喜欢
  • 2012-03-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-26
  • 2016-11-09
  • 1970-01-01
  • 2016-01-30
  • 2017-11-23
相关资源
最近更新 更多