小编jih*_*hor的帖子

如何保护@ConfigurationProperties类免受更改?

要使用@ConfigurationProperties注释,必须创建一个带有getter和setter的类:

@ConfigurationProperties(prefix = "some")
public class PropertiesConfig {
    private boolean debug;

    public boolean isDebug() {
        return debug;
    }

    public void setDebug(boolean debug) {
        this.debug = debug;
    }
}
Run Code Online (Sandbox Code Playgroud)

但这会导致某人试图通过调用以下方法修改此值的情况:

@Autowire
private PropertiesConfig config;        
//....

config.setDebug(true);
Run Code Online (Sandbox Code Playgroud)

有没有办法在@ConfigurationProperties没有setter和外部解析器/ reader类的情况下创建带注释的类?

java spring configurationproperty spring-boot

9
推荐指数
3
解决办法
2725
查看次数

Kotlin 正则表达式线程安全

在 Java 中,Pattern类是线程安全的。但是 Kotlin Regex(像 一样创建"[ABC]+".toRegex())在 JVM 和其他运行时上是线程安全的吗?

regex thread-safety kotlin

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

java如何使字段不可复制

对于序列化,将排除瞬态字段.克隆有没有类似的关键词?如何从克隆中排除字段?

public class Foo implements Cloneable {
    private Integer notInClone;
}
Run Code Online (Sandbox Code Playgroud)

java cloneable

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

如何检查两个矩阵是否有相同的行?

我试图用Java开发,其中,由于两个矩阵(假设算法ab),返回true如果至少一个排是相同的ab.

这是我尝试的方法:

public static boolean check_row(int a[][], int b[][]){
        boolean check = false;
        for(int i = 0; i < a.length; i++){
            for(int j = 0; j < b[0].length; j++){
                if(a[i][j] == b[i][j])
                    check = true;
            }
        }
        return check;
    }
Run Code Online (Sandbox Code Playgroud)

这是一个简单的主要内容:

public static void main(String[] args){
        int a[][] = {{1,2}, {3,4}};
        int b[][] = {{1,2}, {7,8}};
        System.out.println(check_row(a, b));
    }
Run Code Online (Sandbox Code Playgroud)

在这里,我得到true因为两个矩阵的第一行是相同的.但是,如果我将矩阵初始化更改为:

int a[][] = {{1,2}, {3,4}};
int b[][] = …
Run Code Online (Sandbox Code Playgroud)

java algorithm matrix

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