我刚刚在一些我未编写的代码中发现了一个错误,我对此感到有些惊讶:
Pattern pattern = Pattern.compile("\\d{1,2}.\\d{1,2}.\\d{4}");
Matcher matcher = pattern.matcher(s);
尽管该代码在输入数据上失败了很多 _(因为它试图以17.01.2011格式查找日期并返回诸如10396/2011之类的东西,然后由于无法解析日期而崩溃,但这
确实是错误 的)这个问题的重点;)_我想知道:
Pattern.compile 的要点之一不是要进行速度优化(通过预编译正则表达式)?
难道不是所有的“静态”模式都 总是 编译成静态模式吗?
在网络上有很多示例,总是使用 Pattern.compile 重新编译相同的模式,我开始怀疑自己是否在看东西。
不是(假设字符串是静态的,因此不是动态构造的):
static Pattern pattern = Pattern.compile("\\d{1,2}.\\d{1,2}.\\d{4}");
总是比非静态模式引用更可取?
Pattern
是只执行一次。static
字段中的预编译模式应该没问题。(与Matcher
s 不同,它们不是线程安全的,因此实际上不应存储在字段中,无论是否为静态)。静态初始值设定项中有关编译模式的唯一警告是,如果该模式未编译且静态初始值设定项引发异常,则错误的来源可能非常令人讨厌。这是一个较小的可维护性问题,但可能值得一提。
我正在使用存储库模式并尝试建立模型之间的关系。当我尝试运行存储()方法(在控制器中),该方法试图使用用户()方法(与方模型建立关系)时,我收到以下错误消息: 非静态方法不应该静态调用::user(),假设$this来自不兼容的上下文 我不明白为什么在尝试运行user()relationship方法时会出现此错误,但所有其他方法(包括$this- 以下是相关代码:
我有一个简单的模式,有一个索引方法从数据库中获取数据 模态:国家 现在我想从控制器调用这个函数: 控制器: 为此,我以这种方式创建了一个正面: 创建了一个提供者 在config/app.php中注册了提供程序 创建了门面 在config/app.php中注册别名 第1步-提供商: php artisan make:提供者NationServiceProvider 第2步:在config/app.p
我最近对 PHP 5.4 进行了更新,但收到有关静态和非静态代码的错误。 这是错误: 这是第371行: 我希望有人能帮忙。
问题内容: 我在代码中使用Java Callable Future。以下是我使用future和callables的主要代码- 下面是我的Task类,该类实现Callable接口,我需要根据所拥有的主机名生成URL,然后使用调用SERVERS RestTemplate。如果第一个主机名中有任何异常,那么我将为另一个主机名生成URL,然后尝试拨打电话。 所以我的问题应该声明RestTemplate为静
问题内容: 我是一名Java开发人员,他 开始 掌握依赖注入的全部功能,突然间我意识到,没有办法注入静态方法。因此,我想到了: 静态方法是DI反模式吗? 更重要的是:如果我要接受依赖注入,这是否意味着我需要停止对静态方法进行编码?我问,因为没有办法在单元测试期间模拟它们并注入模拟静态变量,这对我来说是个很大的选择。 编辑 :我知道一种“包装”和注入现有的静态方法的通用方法是这样的: …但是我没有问
我有一个带有下面代码的php文件,我收到错误: 严格标准:非静态方法LinkCore::GetImageLink()不应静态调用,假设$this来自....中的不兼容上下文。 但如果我改变这行: 我得到了 分析错误:语法错误,在/xxx/xxx/publ_html/modules/supplierreports/htmlTemplateCustompdf.php第44行中出现意外的“->”(T_O