草庐IT

long_string

全部标签

java - 将 List<Map<String, List<String>>> 转换为 String[][]

我有一个用例,我抓取了一些数据,对于一些记录,一些键有多个值。我想要的最终输出是CSV,我有一个库,它需要一个二维数组。所以我的输入结构看起来像List>>(我使用TreeMap来确保稳定的key顺序),我的输出需要是String[][].我编写了一个通用转换,它根据所有记录中值的最大数量计算每个键的列数,并为小于最大值的记录留空单元格,但结果比预期的要复杂。我的问题是:它可以用更简洁/有效(但仍然通用)的方式编写吗?尤其是使用Java8流/lambda等?示例数据和我的算法如下(尚未在示例数据之外进行测试):packageorg.example.import;importjava.u

Java String.replace() 或 StringBuilder.replace()

在我使用5-10个替换的情况下是否有必要使用stringbuilder。StringsomeData="......";someData=someData.replaceAll("(?s).*?","");someData=someData.replaceAll("(?s).*?","");someData=someData.replaceAll("(?s).*?","");someData=someData.replaceAll("(?s).*?","");someData=someData.replaceAll("(?s).*?","");someData=someData.rep

java - String.getBytes ("ISO-8859-1") 在 OS X 上给我 16 位字符

使用Java6从字符串中获取8位字符:System.out.println(Arrays.toString("öä".getBytes("ISO-8859-1")));给我,在Linux上:[-10,28]但是OSX我得到:[63,63,63,-89]使用新的nioCharSetEncoder类时,我似乎得到了相同的结果。我究竟做错了什么?还是苹果的错?:) 最佳答案 我通过将源文件保存为UTF-8,然后告诉编译器它真的是MacRoman,设法重现了这个问题:javac-encodingMacRomanTest.java我原以为ja

java - 将 List<String> 转换为 List<MyObject>,其中 MyObject 包含一个表示顺序的 int

是否有我缺少的模式或内置函数,或者我应该像这样循环publicListconvert(ListmyStrings){ListmyObjects=newArrayList(myStrings.size());Integeri=0;for(Stringstring:myStrings){MyObjectmyObject=newmyObject(i,string);myObjects.add(object);i++;}returnmyObjects;}这是因为我需要将列表保存到数据库并保留顺序。 最佳答案 您可以使用Guava:Listm

java - 无法理解 String.replaceAll 非贪婪行为

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:Javaregexanomaly?知道为什么以下测试失败(返回“xx”而不是“x”)@TestpublicvoidtestReplaceAll(){assertEquals("x","xyz".replaceAll(".*","x"));}我不想做"^.*$"....我想了解这种行为。有什么线索吗?

java - JTextField : How to set text on the left of JTextField when text too long

我有一个很长的String,我想在JTextField中显示它。如果String太长,它会显示String的右侧部分,而不是左侧部分,即使我使用setHorizo​​ntalAlignment(JTextField.LEFT)例如,如果我的String是"JTextFieldexample,thistextistoolong",它应该显示为...|----------------------||JTextFieldexample..||----------------------|但它显示为...|----------------------||thistextistoolong||-

java - 对 long 和 double 的大小感到困惑

这个问题在这里已经有了答案:Whatisthedifferencebetweenthefloatandintegerdatatypewhenthesizeisthesame?(3个答案)关闭3年前。看看Java(但在其他语言中可能相似或相同),long和double都使用8个字节来存储一个值。一个long用8个字节存储从-9,223,372,036,854,775,808到9,223,372,036,854,775,807的长整数double使用8个字节来存储从-1.7E308到1.7E308的doublefloat,最多16位有效数字。我的问题是,如果两者都使用相同的字节数(8个字节

java - 在 Java 中将 ByteBuffer 转换为 String

我有一个来自ByteBuffer的byte[]bytes,其中包含一个数据包。我想将数据包放入String中。目前我有以下内容byte[]bytes=packet.array();System.out.println("PacketString:"+newString(bytes));但是我最终得到以下输出PacketString:E����我试过这样编码System.out.println("PacketString:"+newString(bytes,Charset.forName("UTF-8")));但这不是正确的字符集。谁能告诉我是什么? 最佳答案

java - flatMap() 将 LinkedList<String> 流转换为 String 流

我的目标正是标题所说的。我正在做的是:.stream().flatMap(x->x.getTitles())getTitles()返回LinkedList,我预计flatMap()完成这项工作并创建字符串流而不是LinkedList流,但是Eclipse说:Typemismatch:cannotconvertfromLinkedListtoStream我该怎么做?(我需要用流来做,这都是更大的流计算的一部分) 最佳答案 flatMap期望映射到流,而不是集合。使用.stream().flatMap(x->x.getTitles().

Java String.split(),如何防止新数组中出现空元素

我有一个像这样的字符串Strings="hello.are..you";Stringtest[]=s.split("\\.");test[]包含4个元素:helloareyou如何使用split()生成三个非空元素? 最佳答案 你可以使用量词String[]array="hello.are..you".split("\\.+");要处理前导.字符,您可以这样做:String[]array=".hello.are..you".replaceAll("^\\.","").split("\\.+");