小编Mic*_*ael的帖子

HttpURLConnection超时设置

如果URL连接超过5秒,我想返回false - 使用Java可以实现这一点吗?这是我用来检查URL是否有效的代码

HttpURLConnection.setFollowRedirects(false);
HttpURLConnection con = (HttpURLConnection) new URL(url).openConnection();
con.setRequestMethod("HEAD");
return (con.getResponseCode() == HttpURLConnection.HTTP_OK);
Run Code Online (Sandbox Code Playgroud)

java url timeout

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

接口可以在Java中扩展多个接口吗?

接口可以在Java中扩展多个接口吗?此代码在我的IDE中显示有效,并且它确实编译:

interface Foo extends Runnable, Set, Comparator<String> { }
Run Code Online (Sandbox Code Playgroud)

但我听说Java中不允许多重继承.为什么接口似乎有例外?

java inheritance extends multiple-inheritance

119
推荐指数
4
解决办法
11万
查看次数

System.gc()什么时候做什么

我知道垃圾收集在Java中是自动化的.但我明白,如果你System.gc()在代码中编写,Java VM可能会或可能不会在运行时决定在那时进行垃圾收集.这是如何工作的?基于什么基础/参数,VM在看到GC时决定做(或不做)GC System.gc()?是否有可能的例子在这种情况下将它放在代码中个好主意?

java garbage-collection

113
推荐指数
8
解决办法
14万
查看次数

如何使用Comparator定义自定义排序顺序?

我想为汽车列表开发一个排序演示.我正在使用数据表来显示汽车清单.实际上我想按汽车颜色对列表进行排序.这里不按字母顺序排序.我想使用我的自定义排序顺序,如Red car先行,然后是Blue等.

为此,我尝试使用Java Comparator,Comparable但它允许仅按字母顺序排序.

因此,任何人都可以指导我实现使用该技术的方式,以便排序变得更快.

class Car implements Comparable<Car>
{
    private String name;
    private String color;

    public Car(String name, String color){
        this.name = name;
        this.color = color;
    }

    //Implement the natural order for this class
    public int compareTo(Car c) {
        return name.compareTo(c.name);
    }

    static class ColorComparator implements Comparator<Car> {
        public int compare(Car c1, Car c2) {
            String a1 = c1.color;
            String a2 = c2.color;
            return a1.compareTo(a2);
        }
    }

    public static void main(String[] args) {
        List<Car> carList = …
Run Code Online (Sandbox Code Playgroud)

java sorting enums

82
推荐指数
6
解决办法
20万
查看次数

在流上使用Collections.toMap()时,如何保持List的迭代顺序?

我创建一个MapList如下:

List<String> strings = Arrays.asList("a", "bb", "ccc");

Map<String, Integer> map = strings.stream()
    .collect(Collectors.toMap(Function.identity(), String::length));
Run Code Online (Sandbox Code Playgroud)

我希望保持与之相同的迭代顺序List.如何创建LinkedHashMap使用Collectors.toMap()方法?

java collections java-8 java-stream

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

为什么---(3个破折号/连字符)在yaml文件中?

所以我刚开始使用YAML文件而不是application.properties因为它更具可读性.我在YAML文件中看到他们开始---.我用Google搜索并找到了以下解释.

YAML使用三个破折号("---")将指令与文档内容分开.如果没有指令,这也用于表示文档的开始.

此外,我尝试了一个没有的样本,---并且理解它不是强制性的.

我想我并没有清楚地了解directivedocument.有人可以用一个简单的例子解释一下吗?

yaml

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

IntelliJ IDEA"所选目录不是JDK的有效主页"

我刚刚安装了IntelliJ IDEA,我正在尝试设置它.我已经到了需要为JDK选择主目录的部分.

我尝试导航到我的Java安装,C:\Program Files (x86)\Java并点击没关系,但它告诉我上面的消息.所以,我试过了C:\Program Files (x86)\Java\jre7,但也没用.

我尝试重新安装最新的JDK(从这里),我仍然无法选择我的JDK.我甚至拖动了.jar我从网站上获得的安装程序,文件选择器窗口无法识别它.

我处于停滞状态,我不知道该怎么办.

java windows intellij-idea

69
推荐指数
3
解决办法
13万
查看次数

如何在Java中浏览Java字符串文字?

我正在使用Java处理一些Java源代码.我正在提取字符串文字并将它们提供给一个带字符串的函数.问题是我需要将未转义的String版本传递给函数(即这意味着转换\n为换行符,转换为\\单行\等).

Java API中是否有一个函数可以执行此操作?如果没有,我可以从某个库获得这样的功能吗?显然,Java编译器必须进行此转换.

如果有人想知道,我试图在反编译的混淆Java文件中取消混淆字符串文字.

java string escaping

68
推荐指数
9
解决办法
12万
查看次数

覆盖方法时,为什么我可以增加访问但不减少访问?

为什么Java指定覆盖方法的访问说明符可以允许比重写方法更多但不是更少的访问?例如,超类中的受保护实例方法可以在子类中公开,但不是私有的.

java inheritance access-modifiers

62
推荐指数
4
解决办法
5万
查看次数

为什么消费者接受语句体而不是表达体的lambdas?

以下代码令人惊讶地成功编译:

Consumer<String> p = ""::equals;
Run Code Online (Sandbox Code Playgroud)

这个也是:

p = s -> "".equals(s);
Run Code Online (Sandbox Code Playgroud)

但是这会因boolean cannot be converted to void预期错误而失败:

p = s -> true;
Run Code Online (Sandbox Code Playgroud)

使用括号修改第二个示例也会失败:

p = s -> ("".equals(s));
Run Code Online (Sandbox Code Playgroud)

它是Java编译器中的错误还是我不知道的类型推断规则?

java lambda type-inference java-8

61
推荐指数
3
解决办法
4579
查看次数