Class Strings
-
- com.google.common.base.Strings
-
@GwtCompatible public final class Strings extends
Static utility methods pertaining toString
orCharSequence
instances.- Since:
- 3.0
- Author:
- Kevin Bourrillion
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static
a, b)
Returns the longest stringprefix
such thata.toString().startsWith(prefix) && b.toString().startsWith(prefix)
, taking care not to split surrogate pairs.static
a, b)
Returns the longest stringsuffix
such thata.toString().endsWith(suffix) && b.toString().endsWith(suffix)
, taking care not to split surrogate pairs.static
string)
Returns the given string if it is nonempty;null
otherwise.static boolean
string)
Returnstrue
if the given string is null or is the empty string.static
template, ... args)
Returns the giventemplate
string with each occurrence of"%s"
replaced with the corresponding argument value fromargs
; or, if the placeholder and argument counts do not match, returns a best-effort form of that string.static
string)
Returns the given string if it is non-null; the empty string otherwise.static
string, int minLength, char padChar)
Returns a string, of length at leastminLength
, consisting ofstring
appended with as many copies ofpadChar
as are necessary to reach that length.static
string, int minLength, char padChar)
Returns a string, of length at leastminLength
, consisting ofstring
prepended with as many copies ofpadChar
as are necessary to reach that length.static
string, int count)
Returns a string consisting of a specific number of concatenated copies of an input string.
-
-
-
Method Detail
-
nullToEmpty
public static string)
Returns the given string if it is non-null; the empty string otherwise.- Parameters:
string
- the string to test and possibly return- Returns:
string
itself if it is non-null;""
if it is null
-
emptyToNull
public static string)
Returns the given string if it is nonempty;null
otherwise.- Parameters:
string
- the string to test and possibly return- Returns:
string
itself if it is nonempty;null
if it is empty or null
-
isNullOrEmpty
public static boolean string)
Returnstrue
if the given string is null or is the empty string.Consider normalizing your string references with
nullToEmpty(java.lang.String)
. If you do, you can use instead of this method, and you won't need special null-safe forms of methods like either. Or, if you'd like to normalize "in the other direction," converting empty strings tonull
, you can useemptyToNull(java.lang.String)
.- Parameters:
string
- a string reference to check- Returns:
true
if the string is null or is the empty string
-
padStart
public static string, int minLength, char padChar)
Returns a string, of length at leastminLength
, consisting ofstring
prepended with as many copies ofpadChar
as are necessary to reach that length. For example,padStart("7", 3, '0')
returns"007"
padStart("2010", 3, '0')
returns"2010"
See for a richer set of formatting capabilities.
- Parameters:
string
- the string which should appear at the end of the resultminLength
- the minimum length the resulting string must have. Can be zero or negative, in which case the input string is always returned.padChar
- the character to insert at the beginning of the result until the minimum length is reached- Returns:
- the padded string
-
padEnd
public static string, int minLength, char padChar)
Returns a string, of length at leastminLength
, consisting ofstring
appended with as many copies ofpadChar
as are necessary to reach that length. For example,padEnd("4.", 5, '0')
returns"4.000"
padEnd("2010", 3, '!')
returns"2010"
See for a richer set of formatting capabilities.
- Parameters:
string
- the string which should appear at the beginning of the resultminLength
- the minimum length the resulting string must have. Can be zero or negative, in which case the input string is always returned.padChar
- the character to append to the end of the result until the minimum length is reached- Returns:
- the padded string
-
repeat
public static string, int count)
Returns a string consisting of a specific number of concatenated copies of an input string. For example,repeat("hey", 3)
returns the string"heyheyhey"
.- Parameters:
string
- any non-null stringcount
- the number of times to repeat it; a nonnegative integer- Returns:
- a string containing
string
repeatedcount
times (the empty string ifcount
is zero) - Throws:
- if
count
is negative
-
commonPrefix
public static a, b)
Returns the longest stringprefix
such thata.toString().startsWith(prefix) && b.toString().startsWith(prefix)
, taking care not to split surrogate pairs. Ifa
andb
have no common prefix, returns the empty string.- Since:
- 11.0
-
commonSuffix
public static a, b)
Returns the longest stringsuffix
such thata.toString().endsWith(suffix) && b.toString().endsWith(suffix)
, taking care not to split surrogate pairs. Ifa
andb
have no common suffix, returns the empty string.- Since:
- 11.0
-
lenientFormat
public static template, ... args)
Returns the giventemplate
string with each occurrence of"%s"
replaced with the corresponding argument value fromargs
; or, if the placeholder and argument counts do not match, returns a best-effort form of that string. Will not throw an exception under normal conditions.Note: For most string-formatting needs, use , , and related methods. These support the full range of , and alert you to usage errors by throwing .
In certain cases, such as outputting debugging information or constructing a message to be used for another unchecked exception, an exception during string formatting would serve little purpose except to supplant the real information you were trying to provide. These are the cases this method is made for; it instead generates a best-effort string with all supplied argument values present. This method is also useful in environments such as GWT where
String.format
is not available. As an example, method implementations of thePreconditions
class use this formatter, for both of the reasons just discussed.Warning: Only the exact two-character placeholder sequence
"%s"
is recognized.- Parameters:
template
- a string containing zero or more"%s"
placeholder sequences.null
is treated as the four-character string"null"
.args
- the arguments to be substituted into the message template. The first argument specified is substituted for the first occurrence of"%s"
in the template, and so forth. Anull
argument is converted to the four-character string"null"
; non-null values are converted to strings using .- Since:
- 25.1
-
-