Tag: charsequence

将符号(“@”)转换为CharSequence

我正在使用selenium测试网站,我需要发送一封电子邮件到其中一个字段。 到目前为止,我使用的是这种Java方法: String email = “test@example.com” WebElement emailField = driver.findElement(By.id(“mainForm:accountPanelTabId:1:accountEmails”); emailField.sendKeys(email); 但是从(对我来说)未知的原因来看,这正是将这个值发送到该字段: testvexample.com (所以基本上“@”被“v”取代) 出于好奇:我是捷克人,有捷克语键盘。 写“@”符号的一个捷径是rightAlt + v所以我相信这可以连接…… 所以我正在搜索任何总是写“@”符号的“防弹”methot。 任何帮助赞赏。 编辑 sendKeys是Selenium的方法,它模拟在键盘上打字。 javadoc在这里: http : //selenium.googlecode.com/svn/trunk/docs/api/java/org/openqa/selenium/WebElement.html#sendKeys%28java.lang.CharSequence…%29

Android,如何动态填充CharSequence数组(不初始化?)

我该如何改变这样的事情: CharSequence cs[] = { “foo”, “bar” }; 至: CharSequence cs[]; cs.add(“foo”); // this is wrong… cs.add(“bar”); // this is wrong…

何时在API中使用CharSequence

我正在为包设计一个公共接口(API)。 我想知道,我应该使用CharSequence而不是String 。 (我主要谈的是公共接口)。 这样做有什么缺点吗? 它被认为是一种好习惯吗? 如何将它用于类似标识符的目的(当值与基于散列的容器中的集合匹配时)?

为API选择CharSequence和String之间

String 是一个 CharSequence 。 Java库中的许多方法都接受CharSequence因此它们更 CharSequence 。 有些classe有一个String方法(例如, Writer.write(String) ),并且还使用等效的CharSequence方法实现Appendable (例如, Writer.append(CharSequence) )。 如果我正在编写一个委托给这样一个类的类,并且需要一些文本输入,我可以选择该输入为String或CharSequence 。 通过为客户提供更多选项,选择后者使课程更加灵活。 但我没有看到太多代码这样做:文本参数几乎总是一个String而不是一个CharSequence 。 使用CharSequence吗? 是否有性能受损? 或者只是程序员的intertia或无知会导致使用String而不是CharSequence ? 比较 class XMLWriter { private final Writer writer; // more stuff here public void writeComment(String text) { writer.write(“”); } } 同 class XMLWriter { private final Writer writer; // more stuff here public […]

为什么java中的String.replaceAll()需要在正则表达式中使用4个斜杠“\\\\”来实际替换“\”?

我最近注意到,当涉及转义字符“\”(斜杠)时,String.replaceAll(正则表达式,替换)表现得非常奇怪。 例如,考虑有一个带有filepath的字符串 – String text = “E:\\dummypath” ,我们想用”/”替换”\\” “/” 。 text.replace(“\\”,”/”)给出输出”E:/dummypath” text.replaceAll(“\\”,”/”)而text.replaceAll(“\\”,”/”)引发exceptionjava.util.regex.PatternSyntaxException 。 如果我们想用replaceAll()实现相同的function,我们需要将其写为text.replaceAll(“\\\\”,”/”) 一个值得注意的区别是replaceAll()将其参数作为reg-ex,而replace()具有参数character-sequence! 但text.replaceAll(“\n”,”/”)与其char序列等效text.replace(“\n”,”/”)完全相同 深入挖掘:当我们尝试其他一些输入时,可以观察到更奇怪的行为。 让我们分配text=”Hello\nWorld\n” 现在, text.replaceAll(“\n”,”/”) , text.replaceAll(“\\n”,”/”) , text.replaceAll(“\\\n”,”/”)所有这三个给出相同的输出Hello/World/ Java以我认为最好的方式真的搞砸了reg-ex! 没有其他语言似乎在reg-ex中有这些有趣的行为。 有什么特别的原因,为什么Java搞砸了这样?