小编Rya*_*yan的帖子

为什么在接口内声明接口?

这是java.util.Map的简化版本

public interface Map {
    interface Entry{
        int getKey();
    }

    void clear();
}
Run Code Online (Sandbox Code Playgroud)

我的问题是为什么这样做?

如何实现内部接口?我可以实现内部吗?

java

4
推荐指数
2
解决办法
300
查看次数

从循环内的列表中删除元素

我正在尝试从循环内的 ArrayList 中删除一个元素。

还行吧。

ArrayList<Integer> list = new ArrayList<Integer>(Arrays.asList(1, 2, 3));
for(Integer i: list){
    if(i == 2)
        list.remove(i);
}
Run Code Online (Sandbox Code Playgroud)

但这不是,并抛出concurrentMODificationException。

 ArrayList<Integer> list = new ArrayList<Integer>(Arrays.asList(1, 2, 3));
 for(Integer i: list){
        list.remove(i);
 }
Run Code Online (Sandbox Code Playgroud)

我不明白为什么。

我刚刚添加了另一个元素,它也不行(抛出 concurrentMODificationException)。

ArrayList<Integer> list = new ArrayList<Integer>(Arrays.asList(1, 2, 3, 4));

System.out.println(list);

for (Integer i : list) {
    if (i == 2)
        list.remove(i);
}
Run Code Online (Sandbox Code Playgroud)

java arraylist

4
推荐指数
1
解决办法
8289
查看次数

如何在框架中使用反射?

Class是使用Java反射API的起点.我们可以用:

Class.forName("classname")
Run Code Online (Sandbox Code Playgroud)

获取Class描述符然后初始化对象,调用方法等.

这是框架使用反射的方式吗?例如,JUnit,Spring,Structs 2等.

java reflection

3
推荐指数
1
解决办法
7004
查看次数

为什么我们需要可变类?

我今天读了一章Effective Java.本章是关于最小化对象的可变性.我非常理解为什么不可变对象是好的,比如线程安全,简单等等.我的问题是因为不可变对象有很多优点,是否有任何可变对象首选的情况?

java

3
推荐指数
1
解决办法
2007
查看次数

如何增加Ubuntu的inode限制?

我在linode.com上设置了一个服务器.我有48G ssd.我放了很多小文件.系统正在向我显示一条消息,指出没有留下任何费用,但是通过使用df -h命令,我看到我仍然没有使用19GB.然后我用df -i发现没有inode可用了.inode总数为3056000.如何增加此限制?

linux inode ubuntu-12.04

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

在Java中拆分字符串并删除空白

我要拆分的是以下字符串:

<java><jquery><comments>
Run Code Online (Sandbox Code Playgroud)

我使用以下分割方法:

   String s = "<java><jquery><comments>";
        String[] arr = s.split("<|>");
        for(String a: arr){
            System.out.println(a);
        }
Run Code Online (Sandbox Code Playgroud)

输出如下:

java

jquery

comments
Run Code Online (Sandbox Code Playgroud)

问题是我不想要空行.从拆分返回的数组的大小是6.我想要的只是3个字母的字符串.

我应该使用正则表达式获取所有字母,还是使用上面的拆分?

java string split

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

为什么以递减顺序循环比增加顺序更快?

我从一些博客中看到了这个问题.给出了以下两个循环,问题是哪一个更快.

for(int i = 100000; i > 0; i--) {}
for(int i = 1; i < 100001; i++) {}
Run Code Online (Sandbox Code Playgroud)

为什么第一个比第二个快?

java performance loops

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

静态方法没有任何参数线程安全吗?

我有一个计数器和多个线程访问该getCount方法.代码如下:

public class ThreadSafeMethod {

        public static int counter = 0;

        public static int getCount() {
            return counter++;
        }
    }
Run Code Online (Sandbox Code Playgroud)

方法线程安全吗?我的理解是,因为counter++不是自动的,所以不安全.那怎么安全呢?如果我们添加synchronized关键字,将同步哪个对象?

java multithreading

0
推荐指数
1
解决办法
322
查看次数