小编Mic*_*u93的帖子

Java:检查枚举是否包含给定的字符串?

这是我的问题 - 我正在寻找(如果它甚至存在)枚举相当于ArrayList.contains();.

这是我的代码问题的示例:

enum choices {a1, a2, b1, b2};

if(choices.???(a1)}{
//do this
} 
Run Code Online (Sandbox Code Playgroud)

现在,我意识到一个ArrayListStrings会在这里更好的路线,但我通过一个开关/箱其他地方运行我的枚举的内容.因此我的问题.

假设不存在这样的事情,我怎么能去做呢?

java string enums

142
推荐指数
11
解决办法
28万
查看次数

为什么最终对象可以修改?

我在我正在处理的代码库中遇到以下代码:

public final class ConfigurationService {
    private static final ConfigurationService INSTANCE = new ConfigurationService();
    private List providers;

    private ConfigurationService() {
        providers = new ArrayList();
    }

    public static void addProvider(ConfigurationProvider provider) {
        INSTANCE.providers.add(provider);
    }

    ...
Run Code Online (Sandbox Code Playgroud)

INSTANCE被宣布为final.为什么可以添加对象INSTANCE?不应该使final的使用无效.(它没有).

我假设答案必须用指针和内存做一些事情,但我想肯定知道.

java final

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

无法理解EasyMock.replay()的使用

我是单元测试和Junit的新手.我知道Junit的基础知识.我刚刚开始学习EasyMock框架.

我无法理解replay()方法的用法.

有人可以提供一些信息吗?

我理解EasyMock.expect()和EasyMock.verify()的用户.

testing junit easymock

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

Java BufferedImage分别获得红色,绿色和蓝色

getRGB()方法返回单个int.如何将红色,绿色和蓝色单独作为0到255之间的值?

java bufferedimage

49
推荐指数
4
解决办法
7万
查看次数

如何使用许多if语句提高方法的可读性和长度?

我有195个ifs的方法。这是一个简短的版本:

private BigDecimal calculateTax(String country, BigDecimal amount) throws Exception {
    if(country.equals("POLAND")){
        return new BigDecimal(0.23).multiply(amount);
    }
    else if(country.equals("AUSTRIA")) {
        return new BigDecimal(0.20).multiply(amount);
    }
    else if(country.equals("CYPRUS")) {
        return new BigDecimal(0.19).multiply(amount);
    }
    else {
        throw new Exception("Country not supported");
    }
}
Run Code Online (Sandbox Code Playgroud)

我可以将ifs更改为switch:

private BigDecimal calculateTax(String country, BigDecimal amount) throws Exception {
    switch (country) {
        case "POLAND":
            return new BigDecimal(0.23).multiply(amount);
        case "AUSTRIA":
            return new BigDecimal(0.20).multiply(amount);
        case "CYPRUS":
            return new BigDecimal(0.19).multiply(amount);
        default:
            throw new Exception("Country not supported");
    }
}
Run Code Online (Sandbox Code Playgroud)

但是195个案例仍然很长。如何提高该方法的可读性和长度?在这种情况下哪种模式最好?

java design-patterns if-statement

26
推荐指数
5
解决办法
2810
查看次数

我应该预先初始化在多个分支中被覆盖的变量吗?

有一种方法:

private String myMethod(String gender)
{
    String newString = "";
    if(gender.equals("a"))
        newString = internal.getValue();
    else
        newString = external.getValue();

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

我重构了所有内容,但有一个小的更改: String newString;而不是:String newString = "";

这样重构可以改善代码吗?我知道那Stringnull当我们不初始化它的时候,但是在这个例子中,它总是有a if或from的值else。这个重构会改变什么吗?

java string

19
推荐指数
3
解决办法
407
查看次数

运行jar时配置服务器端口

我目前正在使用Gradle编写一个用Java 8编写的Spring Boot应用程序.我正在寻找的是从命令行运行Jar时作为参数传递服务器端口.

例如:

  • java -jar myApplication.jar --port=8888:这使用端口运行我的Spring启动应用程序 8888
  • java -jar myApplication.jar:由于没有端口号作为参数传递,弹出启动应用程序应该在默认端口号上运行(比方说8080)

谁能帮我这个 ?

java spring server-configuration jar spring-mvc

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

在 DBeaver 中分析 SQL 查询

我想获取一些有关正在运行的查询的信息来分析它。在 PgAdmin 3 中,我至少可以使用“解释查询”,而在 DBeaver 中,单击“解释执行计划”后,没有任何反应。

如何获取DBeaver中查询的任何信息?

@编辑

抱歉,如果这个问题看起来太宽泛。我不期望解释如何分析查询,我只是想知道是否可以在 DBeaver 中打开分析器以及如何操作。

sql postgresql dbeaver

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

什么是文件通配?

我只是想知道什么是文件globbing?我之前从未听说过,当我尝试在线寻找时,我无法找到定义...

unix linux glob

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

将带有java文件的目录转换为intellij中的java模块

我最近改用IntelliJ.我手动导入了一些项目,我想我没做错.它们都应该是java模块,但它们只是常规目录文件夹.有没有办法将它们转换为java模块,以便我可以运行程序或者我必须手动重新创建新模块?

在此输入图像描述

java intellij-idea

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