jjzjj

charsequence

全部标签

java - 为什么这个正则表达式需要很长时间才能执行?

我发现,例如这一行的执行时间非常长:System.out.println("................................................".matches("(?i)(?:.*)?\\W?([a-z0-9-_\\.]+((?:*)\\.(?:*))+(?:DE))(?:[0-9]{1,5})?"));如果我减少字符串开头的点数,则执行时间会缩短(似乎呈指数增长)。这是挂起线程的堆栈跟踪:[Repeatingtext]...Pattern$GroupTail.match(Matcher,int,CharSequence)line:4717Pattern

java - 通用返回类型上限 - 接口(interface)与类 - 令人惊讶的有效代码

这是来自第3方库API的真实示例,但经过了简化。使用OracleJDK8u72编译考虑这两种方法:XgetCharSequence(){return(X)"hello";}XgetString(){return(X)"hello";}两者都报告“未经检查的转换”警告-我明白为什么了。令我困惑的是为什么我可以打电话Integerx=getCharSequence();它编译了吗?编译器应该知道Integer不执行CharSequence.调用Integery=getString();给出一个错误(如预期的那样)incompatibletypes:inferencevariableXhas

java - 当 Matcher.find() 运行时间过长时如何终止?

想知道终止长时间运行的正则表达式匹配的技术(javamatcher.find()方法)。也许继承Matcher并添加一些逻辑以在x次迭代后终止?基本上我是使用遗传算法生成正则表达式,所以我对它们没有太多控制权。然后我针对一些文本测试每一个,看它们是否匹配文本的某个目标区域。因此,由于我有点随机生成这些正则表达式,所以我得到了一些疯狂的东西,它消耗了大量的cpu并且一些find()调用需要一段时间才能终止。我宁愿过一会儿就杀了他们,但不确定最好的方法。因此,如果有人有想法,请告诉我。 最佳答案 有一个解决方案here这将解决你的问题。

java - 从代码点数字的 IntStream 中创建一个字符串?

如果我正在使用Java流,并以IntStream结尾的codepointUnicode的号码字符,我怎样才能渲染CharSequence例如String?Stringoutput="input_goes_here".codePoints().???;我在几个接口(interface)和类上发现了一个codePoints()方法,它们都生成一个IntStream代码点。然而,我还没有找到接受相同的构造函数或工厂方法。CharSequence::codePoints()→IntStreamString::codePoints()→IntStreamStringBuilder::codePo

java - 为什么这个类型参数会保留在字节码中?

typeerasurepage说是ReplacealltypeparametersingenerictypeswiththeirboundsorObjectifthetypeparametersareunbounded.Theproducedbytecode,therefore,containsonlyordinaryclasses,interfaces,andmethods.但是,对于下面的类:publicclassFoo{publicEsomething;}javap-cFoo打印:publicclassFoo{publicEsomething;}为什么类型参数没有替换为绑定(bi

java - 为什么方法 String.indexOf 不是接口(interface) CharSequence 的一部分?

我看不出制作String.indexOf有任何缺点部分界面CharSequence.好处是其他类(如StringBuffer或StringBuilder)也需要实现indexOf方法。那么indexOf应该只是String的一部分有什么设计上的原因吗?谢谢。 最佳答案 我不确定这是什么原因,但我可以举一个实现CharSequence的类的示例。它是java.nio.CharBuffer。理论上可以通过循环调用charAt()来实现indexOf()。但它不会像用户期望的那样工作。我们无法区分两种情况:性格还没有和性格不存在也不会存在

java - Apache Avro : map uses CharSequence as key

我正在使用ApacheAvro.我的模式有map类型:{"name":"MyData","type":{"type":"map","values":{"type":"record","name":"Person","fields":[{"name":"name","type":"string"},{"name":"age","type":"int"},]}}}编译模式后,生成的Java类使用CharSequence作为MapMyData的key。使用Map中的CharSequence作为key很不方便,有没有办法为Map生成String类型的key在ApacheAvro?附言问题是,例

安卓。粘贴文本时从 EditText 中删除 HTML

也许这是一个非常简单的问题,但我绝对不明白该怎么做。当我从网站复制文本并将其粘贴到EditText中时,我在EditText中得到HTML格式,如何避免这种情况?我的编辑文本 最佳答案 将TextChangeListener添加到您的编辑TextViewyourEditTextView.addTextChangedListener(newTextWatcher(){@OverridepublicvoidbeforeTextChanged(CharSequencecharSequence,inti,inti1,inti2){}@Ove

android - 在 Android OS 或 Java 中,字符序列和字符串有什么区别?

对于定义列出字符序列参数的API(AndroidSDKAPI版本8)函数,我可以改为提供函数String。最好的部分是它们的工作方式相同,没有麻烦,也没有警告。这两种类型有区别吗?更重要的是,如果我向函数发送字符串而不是字符序列,是否存在固有的危险???感谢任何澄清!!!:D 最佳答案 Isthereadifferencebetweenthetwotypes?是的。String是一个类,CharSequence是一个接口(interface)。如果一个方法接受一个CharSequence,它只需要参数来实现接口(interface)

Android,RXJava,使用去抖动搜索

我正在使用debounce()来处理用户搜索并处理它在输入时的暂停(在最后一个字符后1秒搜索):RxSearchView.queryTextChanges(searchView).debounce(1,TimeUnit.SECONDS).subscribe(newAction1(){@Overridepublicvoidcall(CharSequencecharSequence){presenter.loadUsers(charSequence.toString());}});所以如果用户删除所有字符,它会等待1秒然后加载列表,我该如何处理它并立即加载列表?