相关疑难解决方法(0)

Java 8 Iterable.forEach()vs foreach循环

在Java 8中,以下哪项更好?

Java 8:

joins.forEach(join -> mIrc.join(mSession, join));
Run Code Online (Sandbox Code Playgroud)

Java 7:

for (String join : joins) {
    mIrc.join(mSession, join);
}
Run Code Online (Sandbox Code Playgroud)

我有很多可以用lambdas"简化"的for循环,但使用它们真的有什么好处吗?它会改善他们的性能和可读性吗?

编辑

我还将这个问题扩展到更长的方法.我知道你不能从lambda中返回或破坏父函数,在比较它们时也应该考虑到这一点,但还有什么需要考虑的吗?

java for-loop java-8 java-stream

436
推荐指数
7
解决办法
35万
查看次数

是什么导致java.lang.ArrayIndexOutOfBoundsException以及如何防止它?

什么ArrayIndexOutOfBoundsException意思,我该如何摆脱它?

以下是触发异常的代码示例:

String[] name = { "tom", "dick", "harry" };
for (int i = 0; i <= name.length; i++) {
    System.out.println(name[i]);
}
Run Code Online (Sandbox Code Playgroud)

java arrays indexoutofboundsexception

273
推荐指数
8
解决办法
59万
查看次数

迭代通过ArrayList <T> java?

我正在学习Android,Java我已经创建了一个类,让我们这样说

 class x(){
    public int a; 
    public string b;
 }
Run Code Online (Sandbox Code Playgroud)

然后我启动这个类的列表,然后像这样添加值到它的属性

public ArrayList<x> GetList(){

List<x> myList = new ArrayList<x>();

    x myObject = new x();
    myObject.a = 1; 
    myObject.b = "val1";
     mylist.add(x);

    y myObject = new y();
    myObject.a = 2; 
    myObject.b = "val2";
     mylist.add(y);

return myList;
}
Run Code Online (Sandbox Code Playgroud)

我的问题是如何循环访问GetList()返回的内容

我试过了

ArrayList<x> list = GetList();
Iterator<x> iterator = list.iterator();
Run Code Online (Sandbox Code Playgroud)

但我不知道这是不是这样做的正确方法,加上我不知道接下来要做什么我在迭代器上添加了一个断点,但它似乎是空的,列表有值思考

java android

1
推荐指数
1
解决办法
2万
查看次数

如何避免ArrayIndexOutOfBoundsException或IndexOutOfBoundsException?

如果你的问题是java.lang.ArrayIndexOutOfBoundsException在我的代码中得到了一个,我不明白为什么会发生这种情况.它是什么意思,我该如何避免它?

这是关于这个主题的最全面的Canonical信息集合 java.lang.ArrayIndexOutOfBoundsException以及java.lang.IndexOutOfBoundsException.

有很多像这样的问题,所有这些都有模糊的没有代码答案,或者大多数都非常具体,并且局限于手头的问题,并没有解决在所有情况下完全相同的根本原因.


如果您看到属于此一般情况的一个,而不是使用更多重复的专门内容回答它,请将其标记为此副本的副本.

java arrays arraylist indexoutofboundsexception

-9
推荐指数
1
解决办法
4万
查看次数