小编Taz*_*Tad的帖子

将字符串十进制(2.9)更改为Int或Long问题

好吧,我对java很新,但我很快就学会了(希望如此).所以无论如何这是我的问题:

我有一个字符串(例如我们将使用2.9),我需要将其更改为int或long或类似的东西,我可以用它来比较另一个数字.

据我所知,int不支持小数,我不确定是否有多长时间?如果不是,我需要知道支持小数的是什么.

这是错误:java.lang.NumberFormatException: For input string: "2.9"使用Interger.parseInt和Long.parseLong

所以任何帮助将不胜感激!

java

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

在处理之前让队列累积到一定量

那么让我告诉你我正在尝试做什么:
我有一个记录统计数据的程序,很多很多,但它记录它们,因为它们一次发生一次并将它们放入ArrayList,例如:
请注意这是一个例子,我没有记录这些统计数据,我只是简化了一下

User clicks -> Add user_click to array
User clicks -> Add user_click to array
Key press -> Add key_press to array

在每个事件(点击,按键等)之后,它检查ArrayList的大小,如果大于150,则发生以下情况:
创建新线程
该线程被赋予ArrayList
的副本原始ArrayList是.clear() 'ed
新线程组合了类似的项目,因此user_click现在是一个数量为2的项目,而不是每个数量为1的2项目
.线程将数据处理为MySQL数据库

我很想找到一个更好的方法,虽然这很好.线程池和处理问题立即出现的问题是每天会有数千个MySQL查询,而不是先将它们组合在一起.

有没有更好的方法来实现这一目标?我的方法好吗?
要记住的另一件事是events被激活和记录的线程不能减慢,所以我真的不想在主线程中组合项目.

如果你有一些很好的代码示例,如果不是只是一个好方法的想法,那就太好了!

对于任何感兴趣的人,这个项目是在GitHub上托管的,主线程在这里,队列处理器在这里,请原谅我糟糕的命名惯例和一般代码清洁度,我仍然(总是)学习!

java multithreading thread-safety

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

为什么世界上这会导致java.lang.NullPointerException?

String filelist1[];
filelist1 = null;

for (String s : step1) {
    if(s != null || !"".equals(s)) {
        on = s.split(":");

        if("FILE".equals(on[0])) {
            filelist1[i] = on[1];
            i++;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

为什么会导致NullPointerException?我已经确定它与某些事情有关filelist1[i] = on[1];,甚至更确切地说它只是filelist1阵列.

java arrays nullpointerexception

-5
推荐指数
1
解决办法
115
查看次数