教程列表
- Guava Optional类详解-处理null值
- Guava Preconditions类-检查参数
- Guava Ordering类处理排序功能
- Guava Objects类详解
- Guava Range类-范围处理
- Guava Throwables类-异常处理
- Guava 集合处理-Multiset接口
- Guava集合处理- Bimap接口
- Guava集合工具类-Table接口映射处理
- Guava字符串连接-Joiner类
- Guava字符串分割处理-Spiltter类
- Guava CharMatcher类处理JAVA char类型值
- Guava ASCII字符转换 CaseFormat类
- Guava处理java byte类型工具类-Bytes类
- Guava 处理java short实用工具类-Shorts类
- Guava处理java int实用工具类-Ints类
- Guava Longs类-long的实用工具类
- Guava Floats类-float基本类型的实用工具类
- Guava Doubles类-double基本类型的实用工具类
- Guava Chars类-char类型的实用工具类
- Guava Booleans类-布尔型基本的实用工具类
- Guava IntMath类-提供整型的Math实用方法
- Guava LongMath类-long基础类型的Math实用方法
- Guava Multimap类-映射到多个值
- Guava cache缓存工具类
开源项目
知识点
相关文章
更多最近更新
更多Guava字符串连接-Joiner类
2019-04-23 23:10|来源: 网路
Joiner 提供了各种方法来处理字符串加入操作,对象等。
类声明
以下是com.google.common.base.Joiner类的声明:
@GwtCompatible public class Joiner extends Object
类方法
S.N. | 方法及说明 |
---|---|
1 | <A extends Appendable> A appendTo(A appendable, Iterable<?> parts) 每个追加部分的字符串表示,使用每个之间先前配置的分离器,可用来追加。 |
2 | <A extends Appendable> A appendTo(A appendable, Iterator<?> parts) 每个追加部分的字符串表示,使用每个之间先前配置的分离器,可用来追加。 |
3 | <A extends Appendable> A appendTo(A appendable, Object[] parts) 每个追加部分的字符串表示,使用每个之间先前配置的分离器,可用来追加。 |
4 | <A extends Appendable> A appendTo(A appendable, Object first, Object second, Object... rest) 追加到可追加的每个其余参数的字符串表示。 |
5 | StringBuilder appendTo(StringBuilder builder, Iterable<?> parts) 每个追加部分的字符串表示,使用每个之间先前配置的分离器,为构建者。 |
6 | StringBuilder appendTo(StringBuilder builder, Iterator<?> parts) 每个追加部分的字符串表示,使用每个之间先前配置的分离器,为构建者。 |
7 | StringBuilder appendTo(StringBuilder builder, Object[] parts) 每个追加部分的字符串表示,使用每个之间先前配置的分离器,为构建者。 |
8 | StringBuilder appendTo(StringBuilder builder, Object first, Object second, Object... rest) 追加到构建器的每个其余参数的字符串表示。 |
9 | String join(Iterable<?> parts) 返回一个包含每个部分的字符串表示,使用每个之间先前配置的分隔符的字符串。 |
10 | String join(Iterator<?> parts) 返回一个包含每个部分的字符串表示,使用每个之间先前配置的分隔符的字符串。 |
11 | String join(Object[] parts) 返回一个包含每个部分的字符串表示,使用每个之间先前配置的分隔符的字符串。 |
12 | String join(Object first, Object second, Object... rest) 返回一个包含每个参数的字符串表示,使用每个之间先前配置的分隔符的字符串。 |
13 | static Joiner on(char separator) 返回一个加入者其连续元素之间自动地分隔符。 |
14 | static Joiner on(String separator) 返回一个加入者其连续元素之间自动地分隔符。 |
15 | Joiner skipNulls() 返回一个相同的行为,因为这加入者,除了自动跳过任何提供空元素的加入者。 |
16 | Joiner useForNull(String nullText) 返回一个相同的行为,因为这一个加入者,除了自动替换nullText任何提供null元素。 |
17 | Joiner.MapJoiner withKeyValueSeparator(String keyValueSeparator) 返回使用给定键值分离器MapJoiner,和相同的结构,否则为Joiner连接符 。 |
继承的方法
这个类继承了以下类方法:
java.lang.Object
Joiner 示例
使用所选择的编辑器创建下面的java程序 C:/> Guava
GuavaTester.java
import java.util.Arrays; import com.google.common.base.Joiner; public class GuavaTester { public static void main(String args[]){ GuavaTester tester = new GuavaTester(); tester.testJoiner(); } private void testJoiner(){ System.out.println(Joiner.on(",") .skipNulls() .join(Arrays.asList(1,2,3,4,5,null,6))); } }
验证输出结果
使用javac编译器编译如下类
C:\Guava>javac GuavaTester.java
现在运行GuavaTester看到的结果
C:\Guava>java GuavaTester
看看结果:
1,2,3,4,5,6
相关问答
更多-
c语言,怎么使用 strcat字符串连接函数,程序如图。[2023-08-12]
只是输出效果的话,没必要strcat,不要用puts,改printf,格式不换行就可以 要用strcat,需要再定义一个b,先strcpy b a 执行fun后,再strcat b a -
循环对我来说似乎很好。 那说,你可以这样做: // implementation is simple enough public static Function
, String> joinFunction(Joiner joiner) { ... } String string = Joiner.on('\n').join( Iterables.transform(matrix, joinFunction(Joiner.on(", ")))); 你在那里失去了一些效率,因 ... -
您不会比Java 8流API更简洁,因为它存在的原因是改进这些操作。 使用Guava的功能实用程序可以对Java 8之前的函数式编程进行评判,但正如他们警告的那样 : 从Java 7开始,Java中的函数式编程只能通过匿名类的笨拙和冗长的使用来近似。 过度使用Guava的函数式编程习惯可能导致冗长,混乱,难以理解和低效的代码....命令式代码应该是您的默认设置 ,是Java 7的首选 。 这是您的代码的必要翻译: private static final Joiner COMMA_JOINER = Join ...
-
比较字符串连接(Comparing String concatenation)[2021-09-22]
简单的+运算符是最快的,因为您可以使用一些循环和大量迭代快速对自己进行基准测试。 请参阅下面的快速示例,其中(在我的机器上)+操作符约为7秒,而strfmt约为10秒。 正如Guido Preite已经指出的那样,为了最好的可读性而写它,但通常在AX中使用strfmt来构建面向用户的字符串(例如通过语言)。 static void StrConcatPerf(Args _args) { int i; int startTime; int endTime; str conca ... -
找到解决方案,只需从String中替换Zero-Width Non-Joiner实体即可。 $str=str_replace('','',$str); **OR** $str=str_replace('','',$str; found Solution , Just replace Zero-Width Non-Joiner entity from String and it will works. $str=str_replace('',' ...
-
字符串连接?(String concatenation?)[2022-08-10]
++看起来像增量运算符。 它实际上是两个一元+运算符,所以它和普通的旧counter ++ just looks like the increment operator. It's actually two unary + operators, so it's just the same as plain old counter -
ComparisonChain每个compare方法返回一个ComparisonChain ,它不一定是调用比较的链。 第一个片段不会忽略结果(因此是正确的),但第二个片段忽略结果,因此不正确。 如果确实如此,那将是正确的: comparisionChain = comparisionChain.compare(...).compare(...); 有关源代码,请参阅http://docs.guava-libraries.googlecode.com/git-history/v10.0.1/javadoc ...
-
这个. 运算符是连接运算符。 您的第一个示例仅适用于echo函数(技术上它是一种语言结构,但不允许分割头发)接受多个参数,并且会打印每个参数。 因此,第一个示例是使用多个参数调用echo,并且它们都被打印出来,而第二个示例中所有字符串都是concatenate的,并且正在打印一个大字符串。 The . operator is the concatenation operator. Your first example only works because the echo 'function' (techn ...
-
你不需要循环,你可以用Guava做以下事情: // trim the elements: List
trimmed = Lists.transform(list, new Function () { @Override public String apply(String in) { return in.trim(); } }); // join them: String joined = Joiner.on("").jo ... -
字符串连接问题(string concatenation problem)[2023-04-28]
斜线正在逃避报价。 基本上它会在括号内的引号中写出名称。 对于您的示例,输出将是: items["Wilson"] = Wilson
在反斜杠\之后直接对字符进行转义。 所以\"逃脱到了" 。 以下"正在停止字符串,您将附加s变量,而s变量又是foreach循环中的当前项。 这是一篇关于转义字符的文章 。 The slash is escaping the quote. Basically it is going to write the name in quotes inside brack ...