小编yiw*_*wei的帖子

如何将Date转换为ZonedDateTime?

我有各种java.util.Date具有这种格式值的对象:2014-01-21 10:28:57.122Z.我想将它们全部转换为ZonedDateTime对象.

根据 SO问题,ZonedDateTimeofInstant(),一种方式是像这样:

ZonedDateTime z = ZonedDateTime.ofInstant(dateObject.toInstant(), ZoneId);
Run Code Online (Sandbox Code Playgroud)

问题是,我如何找出ZoneId参数的用途?我不能使用我的系统时间(ZoneId.systemDefault())因为我的Date对象都有不同的时区.

java

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

FIND_IN_SET()替代?

我有一个目前看起来像的查询:

SELECT [column a], [column b], [column c], [column d]
FROM [table] 
WHERE FIND_IN_SET(2, column d)
ORDER BY [column a] DESC
Run Code Online (Sandbox Code Playgroud)

其中[column d]属于type varchar,并且包含一组数字(ex,3, 2, 4, 6, 1, 9).所以基本上我试图返回其中2包含数字集的所有记录.但是,当我EXPLAIN在上面的查询上执行一个时,这是我的输出:

id  select_type table   type    possible_keys   key     key_len     ref     rows        Extra
1   SIMPLE      [table] ALL     NULL            NULL    NULL        NULL    500000      Using where; Using filesort
Run Code Online (Sandbox Code Playgroud)

在执行此查询期间,此查询似乎没有使用任何索引.[column a]是主键,因此该列上已有索引.有没有办法利用这个查询的索引运行得更快?或者还有另一种方法可以改善此查询的性能吗?

mysql

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

在程序中添加延迟

我想在程序中使用Thread.sleep(1000)命令添加一个延迟(所以在继续之前让它停止1秒),但这意味着我还需要添加throws InterruptedException.但是,我不知道该把它放在哪里.

我的代码现在基本上看起来像这样:

public static void main(String[] args) {
    Clock myClock = new Clock;   // new clock object.

    while (true) {
        myClock.tick();
    }
}
Run Code Online (Sandbox Code Playgroud)

我的另一课:

public class Clock {
    // .. some constructors and stuff

    public void tick() {
        secondHand.draw();   // redraws the second hand to update every second
    }

    // .. some more methods and stuff
}
Run Code Online (Sandbox Code Playgroud)

我想tick()每1秒调用一次该方法,但我不知道在哪里可以放入Thread.sleepthrows InterruptedException语句.任何帮助,将不胜感激.此外,我可以通过其他方式输入我的时钟滴答和/或更新也会有所帮助!

java

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

比较两个String数组

我正在制作一个程序来比较两个文本文件并返回它们的相似性(基于给定的算法).对于第一个文件中的每个唯一单词,我想找到它们在第二个文件中出现的概率.但每当我运行程序时,返回的相似性始终为0.0.这就是我现在所拥有的:

public static double nestedLoop(String[] doc1, String[] doc2) {
    // nested loop: sort doc1, for each unique word in doc1, find all
    // occurences in doc2 using a sequential search

    java.util.Arrays.sort(doc1);

    double similarity = 0.0;

    for (int i = 0; i < doc1.length - 1; i++) {
        if (doc1[i] != doc1[i + 1]) {
        String unique = doc1[i];
        double count = 0.0;
            for (int j = 0; j < doc2.length; j++) {
                if (unique == doc2[j]) {
                    count++;
                    similarity += …
Run Code Online (Sandbox Code Playgroud)

java

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

如何对String数组进行排序

我有一个String叫做的数组myArray(为了争论,我们只是说它包含了一个故事中的单词).我想将此数组传递给一个方法,该方法将按字母顺序对它们进行排序并分析单词.我在SO上看了这个,许多人建议使用这个场景java.util.Arrays.sort(myArray).所以我在我的方法中使用了这一行,传入了myArray它,并对它进行了计算等.

但是,最近我注意到这将永久排序.myArray.也就是说,在我退出方法之后,数组仍然会被排序.有没有办法让我只在方法范围内对数组进行排序?

示例代码:

public static double uniqueWords(String[] doc1) {

    java.util.Arrays.sort(doc1)

    ... // count up the number of unique words in this array

    return COUNT_OF_UNIQUE_WORDS;
}

public static void main(String[] args) {
    String[] document;
    ... // put values in the array
    System.out.println(uniqueWords(document));
    System.out.println(java.util.Arrays.toString(document));   // here the array will still be sorted, which I DON'T want
}
Run Code Online (Sandbox Code Playgroud)

java sorting

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

测试String标记的含义

我正在制作一个计算器,该程序的一部分接受用户String输入并对其进行标记(使用我自己的Tokenizer类实现).所以现在我有一堆Token对象,我想测试它们中的每一个,看看它们是否包含数字或运算符.

有没有办法测试它们是否包含运算符(即.+, - ,*,/,=,(,)等)而不使用
if (token.equals("+") || token.equals("-") || ...等等,对于每个运算符?这些Token对象都是类型String.

java

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

标签 统计

java ×5

mysql ×1

sorting ×1