Tag: 字符串

使私有方法返回String而不是传递StringBuilder有什么优缺点

考虑一个带有“buildMessage”方法的类(类似于): public class MessageBuilder { public String buildMessage() { //Build up the message and return // //Get the header //Get the body //Get the footer //return } } 当我们构建我们的消息时,最好使用StringBuilder(或类似的缓冲对象)构建字符串,而不是仅仅将一堆字符串连接在一起。 但这是否意味着你失去了返回String的好处而不是将StringBuilder作为参数? 换句话说,这很好读,很容易理解: private String getHeader() { StringBuilder builder = new StringBuilder(); builder.append(“Hello “) .append(this.firstname) .append(“,\n”); return builder.toString(); } 这对我来说比被迫传递给StringBuilder更自然,但我们也可以这样写: private void appendHeader(StringBuilder builder) { builder.append(“Hello “) […]

如何在Java中validation字符串?

如何在Java中validation字符串? 即只允许字符而不是数字? 电子邮件validation怎么样?

在Java中,是否有更优雅的方法从Strings的ArrayList中删除重复的字符串?

所以,长话短说,我有一个Java作业分配,需要以各种方式操作字符串的长ArrayList(我们正在做的事情,如显示单词的组合,添加和从ArrayList中删除,没有什么特别的)。 我注意到一些提供的ArrayLists有重复的条目(这个分配不需要重复项),所以我从老师那里得到了通过删除重复条目来清理数据的好处。 这就是我想出的: private static ArrayList KillDups(ArrayList ListOfStrings) { for (int i = 0 ; i < ListOfStrings.size(); i++) { for (int j = i + 1; j < ListOfStrings.size(); j++) { //don't start on the same word or you'll eliminate it. if ( ListOfStrings.get(i).toString().equalsIgnoreCase( ListOfStrings.get(j).toString() ) ) { ListOfStrings.remove(j);//if they are the same, DITCH […]

最短的Levenshtein距离? 我需要它吗?

我想在String[]查找String以获得查询的最佳匹配。 我听说过Levenshtein Distance。 但我无法确定是否需要它。 假设,我有一个String query = “Examples”和 String[] arrayStr = new String[] {“The Examples String”, “The Example String”, “Example”, “Examples String”, “Example String”, “Examplestring”}; 现在,我希望将String[]的Example作为最佳匹配。 那么,我需要Levenshtein距离来做吗? 或者,如果有人可以指出我快速实现Levenshtein Distance for Java,那就太棒了。 我想检查它是否适用于我拥有的所有字符串。 (基本上我有大约10k个字符串来匹配10k数组。)

如何在java中的字符串中附加反斜杠

我想在字符串列表中的每个字符串中添加一个’\’字符…我正在做这样的事情,但它增加了2个反斜杠。 feedbackMsgs.add(behaviorName+”\\”+fbCode); 结果就像: “abc\\def” 如何确保添加单个反斜杠?

Java用+优化字符串连接多少钱?

我知道在最近的Java版本中字符串连接 String test = one + “two”+ three; 将优化使用StringBuilder 。 但是,每次遇到这一行时都会生成一个新的StringBuilder还是会生成一个Thread Local StringBuilder然后用于所有字符串连接? 换句话说,我是否可以通过创建自己的线程本地StringBuilder来重新使用经常调用的方法的性能,或者这样做会不会有显着的增益? 我可以为此编写一个测试,但我想知道它是否可能是编译器/ JVM特定的或者可以更普遍地回答的问题?

如何将字符串转换为java中的位流

如何将一个字符串转换为一个比特流0和一个我所做的我接受一个字符串,然后将其转换为一个char数组然后我使用了一个名为forDigit(char,int)的方法,但它没有给我一个字符作为一个0和1的流可以帮助你。 我怎么能从bit到char反向。 请求给我一个样本

如何在Java中比较字符串与枚举类型?

我有一份美国所有州的枚举列表如下: public enum State { AL, AK, AZ, AR, …, WY } 在我的测试文件中,我将从包含状态的文本文件中读取输入。 由于它们是字符串,我如何将它与枚举列表的值进行比较,以便为我设置的变量赋值: private State state; 我知道我需要通过枚举列表。 但是,由于值不是字符串类型,您如何比较它? 这就是我盲目打字的原因。 我不知道它是否正确。 public void setState(String s) { for (State st : State.values()) { if (s == State.values().toString()) { s = State.valueOf(); break; } } }

Google应用引擎数据存储区字符串编码问题

您好我正在使用Google App Engine进行我正在进行的项目,我需要存储一些字符串。 我正在使用Java和JDOHelper.getPersistenceManagerFactory(“transactions-optional”) 在我的计算机上进行调试时,一切正常,字符串正确保存。 但是当我将它上传到谷歌应用程序引擎时,我保存的所有字符串都会将其unicode字符替换为问号(?)。 如果我转到项目页面上的DataViewer,我可以看到字符串实际上是用问号保存的。 就像我说的,当在我的电脑上运行时,它运行正常。 有谁知道我应该怎么做?

在java中跟随if-else梯的更好的替代方法是什么?

情况:我正在检查文件名,文件名存储在名为str的String变量中,并根据if语句中检查的条件设置名为mailType的变量的值。 if(str.contains(“template”)) { if(str.contains(“unsupported”)) mailType=”unsupported”; else if(str.contains(“final_result”)) mailType=”final_result”; else if(str.contains(“process_success”)) mailType=”Process Success”; else if(str.contains(“receive”)) mailType=”Receive”; else if(str.contains(“sen”)) mailType=”sent”; else if(str.contains(“welcome”)) mailType=”welcome”; else if(str.contains(“manual”)) mailType=”Manual”; } else if(str.contains(“properties”)) { if(str.contains(“unsupported”)) mailType=”unsupported”; else if(str.contains(“final_result”)) mailType=”final_result”; else if(str.contains(“process_success”)) mailType=”Process Success”; else if(str.contains(“receive”)) mailType=”Receive”; else if(str.contains(“sen”)) mailType=”sent”; else if(str.contains(“welcome”)) mailType=”welcome”; else if(str.contains(“manual”)) mailType=”Manual”; } 问题:有没有更好的方法在java中缩短我的代码并且内存友好?