草庐IT

visitor-pattern

全部标签

java - pattern.compile 帮助 java 程序

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。这个问题似乎与helpcenter中定义的范围内的编程无关。.关闭8年前。Improvethisquestion我编写了一个程序来解析一个文本文件,该文件包含一个带有if、else和while条件的示例C程序。我有2个ArrayList,我的程序将解析整个文件。我正在使用Matcher并在Pattern.compile()中指定了模式String。我正在尝试为特定程序绘制控制流图;不过,我现在只是在寻找节点,稍后会将它们链接起来。这是我的代码://importstaticLineMatcher.ENC

Java 枚举 - 枚举上的 Switch 语句与访问者模式 - 性能优势?

我已经搜索了好几天来找到这个基于性能的问题的答案。到目前为止,在浏览Internet之后,我了解到有几种方法可以在Java中使用枚举,详细记录在here中。.好吧,作为初学者肯定会喜欢在switch-case语句中使用枚举,这样可以使代码更加清晰和更好地理解。但另一方面,我们也有一个Visitor模式风格的枚举实现,这确保了类型安全和可扩展性,已讨论here.话虽如此,回到这个问题背后的最初想法,到目前为止,我了解到如果使用枚举正确设计了一个switch-case结构,这确保了case值不稀疏,并且Enum声明是在与switch-case语句相同的编译单元中,java编译器通过实现诸如

java - ANTLR v4、JavaLexer 和 JavaParser 返回 null 作为解析树

我正在使用antlrv4提取java程序的解析树用于其他目的。我从这个样本开始:ANTLRv4visitorsample我已经测试了给定链接上的步骤,以检查它是否有效以及是否一切正常:javaRuna=1+2b=a^2c=a+b*(a-1)a+b+c^ZResult:33.0然后我自己编写了解析java程序的结构如下:|_Java.g4|_Java.tokens|_JavaBaseVisitor.java|_JavaLexer.java|_JavaLexer.tokens|_JavaParser.java|_JavaTreeExtractorVisitor.java|_JavaVisi

java - 什么是 Pattern.quote() 的 Java 1.4.2 等价物

Pattern.quote的Java1.4.2等价物是什么?我在URI上使用Pattern.quote()但现在需要使其与1.4.2兼容。 最佳答案 好吧,Pattern.quote的源代码是可用的,如下所示:publicstaticStringquote(Strings){intslashEIndex=s.indexOf("\\E");if(slashEIndex==-1)return"\\Q"+s+"\\E";StringBuildersb=newStringBuilder(s.length()*2);sb.append("\\

java - 某些标点字符与启用的 Pattern.UNICODE_CHARACTER_CLASS 标志不匹配

当启用Pattern.UNICODE_CHARACTER_CLASS标志时,我在匹配一些标点字符时遇到问题。示例代码如下:finalPatternp=Pattern.compile("\\p{Punct}",Pattern.UNICODE_CHARACTER_CLASS);finalMatchermatcher=p.matcher("+");System.out.println(matcher.find());输出是错误的,尽管文档中明确指出p{Punct}包含诸如!"#$%&'()*+,-./:;?@[]^_之类的字符`{|}~除了'+'符号,后面的字符也会出现同样的问题$+^`|~

Java Pattern.matcher() 在匹配包含\n 的行时卡住

我遇到了一个我觉得很有趣的问题。我主要通过正则表达式对文本文件进行一些基本的解析,并且在匹配这一行时它总是卡住ftrect0.703157.03139.856155.5313"FREIGABE\nQ09_SV01"没有抛出异常;该程序只是挂起。我正在发布重现这种情况的程序片段;评论的一个是可能的标准情况,但另一个是有问题的。如果你删除\n它会工作,但这些解析的文件来自“黑盒”系统。我当然可以做一个解决方法,我只是觉得有趣的是它实际上卡住了,希望有人能解释发生了什么。我在JDK6u22和JDK7u21上试过了...publicstaticPatternFTRECT_PATTERN=Pat

java - 正则表达式疯狂 : java. util.regex.Pattern 匹配器进入高 CPU 循环

注意:我看过这个question,但还没有人回答,所以帮助不大。奇怪的是,被标记为“可能重复”的问题已被删除(我第一次看到。)我们在使用Pattern进行正则表达式验证时遇到问题。这些都没有发生在我们的代码中,整个事情都发生在SpringFramework和Hibernate的验证中。(Spring3.2.1,Spring3.1.1,Hibernate验证4.2.0)此调用尝试使用@Valid注释验证SpringFramework@ModelAttribute注释:@RequestMapping("/foo/bar")publicStringdoFooBar(@Valid@ModelA

java - 排除子目录的过滤器映射 url-pattern

有什么方法可以使过滤映射不包含子目录吗?例如。我的上下文根目录中有.xhtml文件,我还有一个名为“test”的子文件夹,其中包含具有相同扩展名的文件。是否可以将过滤器映射到上下文根目录中的文件而不是“测试”目录中的文件? 最佳答案 url-pattern确实在匹配上有限制。它只允许精确、前缀或后缀匹配。不是中间/整体/正则表达式匹配。所以例如/*.xhtml你打算做的是行不通的。如果您想在/test中排除XHTML只有文件夹,那么你最好的是Filter收听url-pattern的*.xhtml在doFilter()中基本上完成以下

责任链模式(Chain of Responsibility Pattern)

责任链模式说明责任链模式(ChainofResponsibilityPattern)属于行为型模式,它是指使多个对象都有机会处理请求,将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。从而避免请求的发送者和接收者之间的耦合关系。结构责任链模式主要角色如下:抽象处理者(Handler):定义处理请求的接口,并维护了下一个处理者的引用;具体处理者(ConcreteHandler):根据需求实现处理请求的接口,如果处理不了,则交个下一个处理者处理。代码案例抽象处理者(Handler)/***@program:chain*@description:抽象员工类,抽象处理者(Hand