Tag: string

Java String to Date对象格式为“yyyy-mm-dd HH:mm:ss”

我需要将包含日期的String转换为日期对象。 字符串的格式为“yyyy-mm-dd HH:mm:ss.SSSSSS”,我想在日期对象中使用相同的格式。 例如,我有一个字符串“2012-07-10 14:58:00.000000”,我需要生成的日期对象具有相同的格式。 我已经尝试了以下方法,但结果并不像预期的那样。 java.util.Date temp = new SimpleDateFormat(“yyyy-mm-dd HH:mm:ss.SSSSSS”).parse(“2012-07-10 14:58:00.000000”); DateFormat dateFormat = new SimpleDateFormat(“yyyy-mm-dd HH:mm:ss”); Date thisDate = dateFormat.parse(“2012-07-10 14:58:00.000000”); 结果是“Tue Jan 10 14:58:00 EST 2012”。 请让我知道我哪里出错了。 谢谢,Yeshwanth Kota

将String转换为java.util.Stream

有时我想对字符串中的每个字符做一些简单的事情。 不幸的是,因为字符串是不可变的,除了循环遍历字符串之外没有好的方法可以做到这一点,这可能非常冗长。 如果你要使用Stream,那么它可以做得更短,只需要一两行。 有没有办法将String转换为Stream ?

为什么这些字符串的str == str.intern()结果不同?

public static void main(String[] args) { String str1 = new StringBuilder(“计算机”).append(“软件”).toString(); System.out.println(str1.intern() == str1); String str2 = new StringBuffer(“ja”).append(“va”).toString(); System.out.println(str2.intern() == str2); } 结果: true false 第一个打印为true ,第二个打印为false 。 为什么结果不同?

如何将StringReader转换为String?

我正在尝试将我的StringReader转换回常规String ,如下所示: String string = reader.toString(); 但是当我尝试读出这个字符串时,像这样: System.out.println(“string: “+string); 我得到的只是一个指针值,如下所示: java.io.StringReader@2c552c55 我在读回字符串时做错了吗?

Java中的字符串和字符数组

我是一名刚从C ++转向Java的学生。 在Java中,为String和Char数组定义单独数据类型的主要原因是什么? 两者有什么区别? 由于我只学过C ++,到目前为止我的印象是它们是同一个东西。 请尽可能澄清。

带有stringbuilder的java outOfMemoryError

当我调用这个方法时,我得到一个java outOfMemoryError – 我在一个循环中使用它来按顺序解析许多大文件。 我的猜测是result.toString()在循环期间没有正确收集垃圾。 如果是的话,我该如何解决? private String matchHelper(String buffer, String regex, String method){ Pattern abbrev_p = Pattern.compile(regex);//norms USA, BS, PH.D, PH.D. Matcher abbrev_matcher = abbrev_p.matcher(buffer); StringBuffer result = new StringBuffer(); while (abbrev_matcher.find()){ abbrev_matcher.appendReplacement(result, abbrevHelper(abbrev_matcher)); } abbrev_matcher.appendTail(result); String tempResult = result.toString(); //ERROR OCCURS HERE return tempResult; }

从LinkedHashMap构建有序的JSON字符串

我需要按照插入的顺序使用Key / Value对,所以我选择在HashMap上使用LinkedHashMap 。 但我需要将LinkedHashMap转换为JSON字符串,其中LinkedHashMap中的顺序保留在字符串中。 但目前我通过以下方式实现: 首先将LinkedHashMap转换为JSON。 然后将JSON转换为字符串。 import java.util.LinkedHashMap; import java.util.Map; import org.json.JSONObject; public class cdf { public static void main(String[] args) { Map myLinkedHashMap = new LinkedHashMap(); myLinkedHashMap.put(“1″,”first”); myLinkedHashMap.put(“2″,”second”); myLinkedHashMap.put(“3″,”third”); JSONObject json = new JSONObject(myLinkedHashMap); System.out.println(json.toString()); } } 输出是: {“3″:”third”,”2″:”second”,”1″:”first”} . 但我想按照插入键的顺序,如下所示: {“1″:”first”,”2″:”second”,”3″:”third”} 一旦我将LinkedHashMap转换为JSON,它就会失去它的顺序(显然JSON没有顺序的概念),因此字符串也是乱序的。 现在,如何生成一个与LinkedHashMap相同的JSON字符串?

为什么lambda在引用最终的String字段时需要捕获封闭的实例?

这是基于这个问题 。 考虑这个示例,其中方法基于lambda表达式返回Consumer : public class TestClass { public static void main(String[] args) { MyClass m = new MyClass(); Consumer fn = m.getConsumer(); System.out.println(“Just to put a breakpoint”); } } class MyClass { final String foo = “foo”; public Consumer getConsumer() { return bar -> System.out.println(bar + foo); } } 我们知道,在进行函数式编程时引用lambda中的当前状态并不是一个好习惯,一个原因是lambda会捕获封闭的实例,在lambda本身超出范围之前不会进行垃圾收集。 但是,在与final字符串相关的特定场景中,似乎编译器可能只是在返回的lambda中包含常量( final )字符串foo (来自常量池),而不是在调试时将如下所示的整个MyClass实例封闭(将破坏放在System.out.println […]

Java:用字符串替换字符串中的所有’

我需要在字符串中转义所有引号(’),因此它变为\’ 我尝试过使用replaceAll,但它没有做任何事情。 出于某种原因,我不能让正则表达式工作。 我正在尝试 String s = “You’ll be totally awesome, I’m really terrible”; String shouldBecome = “You\’ll be totally awesome, I\’m really terrible”; s = s.replaceAll(“‘”,”\\'”); // Doesn’t do anything s = s.replaceAll(“\'”,”\\'”); // Doesn’t do anything s = s.replaceAll(“\\'”,”\\'”); // Doesn’t do anything 我真的被困在这里,希望有人能在这里帮助我。 谢谢, 我要

一旦UTF-8编码,我如何截断一个java字符串以适应给定的字节数?

如何截断java String以便我知道一旦UTF-8编码它将适合给定数量的字节存储?