- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
Guava 包含用于拆分和连接字符串的实用程序,但它需要实例化 Splitter/Joiner 对象才能执行此操作。这些是通常只包含要拆分/连接的字符的小对象。维护对这些对象的引用以便重用它们是个好主意,还是最好只在需要时创建它们并让它们被垃圾收集?
例如,我可以通过以下两种方式实现这个方法:
String joinLines(List<String> lines) {
return Joiner.on("\n").join(lines);
}
或
static final Joiner LINE_JOINER = Joiner.on("\n");
String joinLines(List<String> lines) {
return LINE_JOINER.join(lines);
}
我发现第一种方式更具可读性,但每次调用该方法时都创建一个新的 Joiner 似乎很浪费。
最佳答案
老实说,这对我来说听起来像是过早的优化。我同意@Andy Turner 的观点,写任何最容易理解和维护的东西。
如果你打算在几个地方使用Joiner.on("\n")
,让它成为一个命名良好的常量;选择选项二。
如果您只打算在 joinLines
方法中使用它,常量似乎过于冗长;选择第一个选项。
关于java - Guava Splitters/Joiners 是否应该在每次使用时创建?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42584477/
我正在寻找一种巧妙的方法来调整 div 的大小在一页上。 有一个例子 here . 我还没有找到任何具体的例子,但我相信有人已经解决了这个问题。 谢谢 最佳答案 有一个 Svelte 自己内部使用的
拖动拆分器时,如何调整 xul 窗口中特定节点的大小? 由于 xul 窗口的复杂性,无法使用 resizebefore/resizeafter 属性。 我试过使用 ondrag分离器上的事件,但它根本
假设你有这条路线: from("direct:processOrders") .process(new MultipleOrdersProcessor()) .to("direct:done") Mu
我正在做一个实验来拆分一个奇数字符串并打印出前半部分、中间字符和后半部分。代码工作正常,除了在打印下半部分时我无法摆脱中间的字符。在这里: str = input("Enter an odd leng
这里是 Java 8 和 Apache Camel 2.19.5。我有以下 Bean 处理器: @Component("foobarResolver") public class FoobarReso
假设你有这条路线: from("direct:processOrders") .process(new MultipleOrdersProcessor()) .to("direct:done") Mu
我正在做一个实验来拆分一个奇数字符串并打印出前半部分、中间字符和后半部分。代码工作正常,除了在打印下半部分时我无法摆脱中间的字符。在这里: str = input("Enter an odd leng
我有一个面板,其中包含 3 个项目。一个面板,然后一个水平分离器,然后一个面板。这种布局效果很好,用户可以轻松地上下拖动分隔符来调整相邻面板的大小。 但是如何以编程方式设置分割器的位置?理想情况下,我
我正在为我的 Sentence Splitter 应用程序寻找一个测试文件,我希望该文件能够涵盖尽可能多的案例。 谢谢! 最佳答案 阅读 Lingua::Sentence 的文档.它命名了它使用的语料
我想连接分离器以在 4 个小部件之间创建一个“交叉”分离器。我尝试使用两个分离器之间的信号和槽来做到这一点,即使没有发生错误,行为也不是我希望的(事实上什么也没有发生)。 import sys fro
我正在尝试制作一个内部有透明正方形的窗口,并且我希望允许用户以他/她想要的任何方式重新调整它的大小。此代码适用于垂直和水平调整大小
我正在使用位于此处的 jquery 拆分器插件:http://methvin.com/splitter/ 它在我使用的 jquery 版本上工作正常,直到我启用 resizeToWidth 属性然后它
我对 Guava 的 split 可能性很感兴趣: Splitter.on("|").split("foo|bar|baz"); // => "foo", "bar", "baz" 这可以正常工作。
我想为 Java 创建一个 Guava Splitter,它可以将 Java 字符串作为一个 block 来处理。例如,我希望以下断言为真: @Test public void testSplitte
我正在尝试使用 Guava splitter 解析日志文件。日志文件如下所示: appName=XXX clientIp=X.X.X timestamp="2017-06-05T13:22:12-07
我有一个转换器,它返回一个 Map 作为结果。然后将该结果放入输出 channel 。我想做的是为 map 中的每个键进入不同的 channel 。我如何在 Spring Integration 中配
我在 amazon S3 上获取文件列表并遍历文件列表并一次处理一个文件。对应流程如下--
我被难住了。 I went to the store at the mall at seven thirty in a big huff. 期望 Regex.Split 产生 我去了 到商店 在商场
我正在尝试按行拆分 csv 文件。为此,我尝试在流程中使用以下拆分器: 但是,尽管该文件有很多行,但我在日志中收到以下消息: Splitter returned no results. If t
我正在使用 Spring Integration XPath Splitters 和 Header Enrichers,如下所示:
我是一名优秀的程序员,十分优秀!