Java静态实例创建者?

标签 java static

我想静态地创建一个 RegEx 模式,但我认为我的语法有误?

static {
  Pattern noHREF = Pattern.compile("<a.+?>", Pattern.CASE_INSENSITIVE);
}

 public static String getStringWithHREFsRemoved(String html) {
    Matcher m = noHREF.matcher(html);
etc.....

最佳答案

您需要将noHREF 变量作为类的静态成员变量

static Pattern noHREF = Pattern.compile("<a.+?>", Pattern.CASE_INSENSITIVE);

public static String getStringWithHREFsRemoved(String html) {
    Matcher m = noHREF.matcher(html);
    // ...

在您在问题中编写的代码中,noHREF 变量是一个局部(临时)变量,其范围在 static {} 之间。

关于Java静态实例创建者?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3478313/

相关文章:

Java:使用 Desktop.print 打印 MS Access 数据库

java - 面对构造函数静态 block 和代码块的执行顺序问题

java - 如何以其他方式使用公共(public)静态扫描仪? (下一行());

java - 抛出 IOException 而不是 Exception

java - 如何在powershell或Java中查找对象的最常见属性

java - OpenJdK 8 - 无法编译包 javafx.util 不存在

java - 是否可以覆盖派生类中的静态方法?

c++ - C++ 中的私有(private)函数与静态函数

css - 如何在Django博客中显示CSS文件?

java - 如何避免程序每次执行时都解析HTML?