avatar
java的基本问题# JobHunting - 待字闺中
C*a
1
有个java的基本问题,一直没搞清楚,问题很简单:
以下是Pascal's triangle,正确的代码。
在第3行,我之前是这么写的:
List> t = new ArrayList>();
第5行是:ArrayList row = new ArrayList();
结果总是报错‘incompatible type’,这是为什么?
多谢!!!
public class Solution {
public List> generate(int numRows) {
List> t = new ArrayList>();
for (int i = 0; i < numRows; i++) {
List row = new ArrayList();
for (int j = 0; j < i + 1; j++) {
if (j == 0 || j == i) {row.add(1);}
else {int n = t.get(i - 1).get(j - 1) + t.get(i - 1).get(j);
row.add(n);}
}
t.add(row);
}
return t;
}
}
avatar
h*k
2
List> t = new ArrayList>();
list是interface,建instance的时候要用实体class,比如arraylist
但是里面那一层只是declaration,所以还是要写成list
List> t = new ArrayList>();
往里面加东西的时候,里面一层也要用实体class:
t.add(new ArrayList);
avatar
C*a
3
谢谢,这个哪里有讲得比较清楚的,给个链接或者某书某页。

【在 h***k 的大作中提到】
: List> t = new ArrayList>();
: list是interface,建instance的时候要用实体class,比如arraylist
: 但是里面那一层只是declaration,所以还是要写成list
: List> t = new ArrayList>();
: 往里面加东西的时候,里面一层也要用实体class:
: t.add(new ArrayList);

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。