Introduce StringBuilder.clear() extension
#KT-18910 Fixed
This commit is contained in:
@@ -129,6 +129,15 @@ public expect fun String.decapitalize(): String
|
|||||||
public expect fun CharSequence.repeat(n: Int): String
|
public expect fun CharSequence.repeat(n: Int): String
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Clears the content of this string builder making it empty.
|
||||||
|
*
|
||||||
|
* @sample samples.text.Strings.clearStringBuilder
|
||||||
|
*/
|
||||||
|
@SinceKotlin("1.3")
|
||||||
|
public expect fun StringBuilder.clear(): StringBuilder
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns a new string with all occurrences of [oldChar] replaced with [newChar].
|
* Returns a new string with all occurrences of [oldChar] replaced with [newChar].
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -53,5 +53,27 @@ public actual class StringBuilder(content: String = "") : Appendable, CharSequen
|
|||||||
return this
|
return this
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Clears the content of this string builder making it empty.
|
||||||
|
*
|
||||||
|
* @sample samples.text.Strings.clearStringBuilder
|
||||||
|
*/
|
||||||
|
@SinceKotlin("1.3")
|
||||||
|
public fun clear(): StringBuilder {
|
||||||
|
string = ""
|
||||||
|
return this
|
||||||
|
}
|
||||||
|
|
||||||
override fun toString(): String = string
|
override fun toString(): String = string
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Clears the content of this string builder making it empty.
|
||||||
|
*
|
||||||
|
* @sample samples.text.Strings.clearStringBuilder
|
||||||
|
*/
|
||||||
|
@SinceKotlin("1.3")
|
||||||
|
@Suppress("EXTENSION_SHADOWED_BY_MEMBER")
|
||||||
|
public actual fun StringBuilder.clear(): StringBuilder = this.clear()
|
||||||
@@ -14,6 +14,13 @@ package kotlin.text
|
|||||||
@kotlin.internal.InlineOnly
|
@kotlin.internal.InlineOnly
|
||||||
public inline operator fun StringBuilder.set(index: Int, value: Char): Unit = this.setCharAt(index, value)
|
public inline operator fun StringBuilder.set(index: Int, value: Char): Unit = this.setCharAt(index, value)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Clears the content of this string builder making it empty.
|
||||||
|
*
|
||||||
|
* @sample samples.text.Strings.clearStringBuilder
|
||||||
|
*/
|
||||||
|
@SinceKotlin("1.3")
|
||||||
|
public actual fun StringBuilder.clear(): StringBuilder = apply { setLength(0) }
|
||||||
|
|
||||||
private object SystemProperties {
|
private object SystemProperties {
|
||||||
/** Line separator for current system. */
|
/** Line separator for current system. */
|
||||||
|
|||||||
@@ -127,4 +127,14 @@ class Strings {
|
|||||||
val noPadding = "abcde".padEnd(3)
|
val noPadding = "abcde".padEnd(3)
|
||||||
assertPrints("'$noPadding'", "'abcde'")
|
assertPrints("'$noPadding'", "'abcde'")
|
||||||
}
|
}
|
||||||
|
@Sample
|
||||||
|
fun clearStringBuilder() {
|
||||||
|
val builder = StringBuilder()
|
||||||
|
builder.append("content").append(1)
|
||||||
|
assertPrints(builder, "content1")
|
||||||
|
|
||||||
|
builder.clear()
|
||||||
|
assertPrints(builder, "")
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -66,4 +66,13 @@ class StringBuilderTest {
|
|||||||
assertEquals("content", sb.toString())
|
assertEquals("content", sb.toString())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test fun clear() {
|
||||||
|
val sb = StringBuilder()
|
||||||
|
sb.append("test")
|
||||||
|
val s = sb.toString()
|
||||||
|
sb.clear()
|
||||||
|
assertTrue(sb.isEmpty())
|
||||||
|
assertEquals("test", s)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+1
@@ -4731,6 +4731,7 @@ public final class kotlin/text/StringsKt {
|
|||||||
public static final fun chunked (Ljava/lang/CharSequence;ILkotlin/jvm/functions/Function1;)Ljava/util/List;
|
public static final fun chunked (Ljava/lang/CharSequence;ILkotlin/jvm/functions/Function1;)Ljava/util/List;
|
||||||
public static final fun chunkedSequence (Ljava/lang/CharSequence;I)Lkotlin/sequences/Sequence;
|
public static final fun chunkedSequence (Ljava/lang/CharSequence;I)Lkotlin/sequences/Sequence;
|
||||||
public static final fun chunkedSequence (Ljava/lang/CharSequence;ILkotlin/jvm/functions/Function1;)Lkotlin/sequences/Sequence;
|
public static final fun chunkedSequence (Ljava/lang/CharSequence;ILkotlin/jvm/functions/Function1;)Lkotlin/sequences/Sequence;
|
||||||
|
public static final fun clear (Ljava/lang/StringBuilder;)Ljava/lang/StringBuilder;
|
||||||
public static final fun commonPrefixWith (Ljava/lang/CharSequence;Ljava/lang/CharSequence;Z)Ljava/lang/String;
|
public static final fun commonPrefixWith (Ljava/lang/CharSequence;Ljava/lang/CharSequence;Z)Ljava/lang/String;
|
||||||
public static synthetic fun commonPrefixWith$default (Ljava/lang/CharSequence;Ljava/lang/CharSequence;ZILjava/lang/Object;)Ljava/lang/String;
|
public static synthetic fun commonPrefixWith$default (Ljava/lang/CharSequence;Ljava/lang/CharSequence;ZILjava/lang/Object;)Ljava/lang/String;
|
||||||
public static final fun commonSuffixWith (Ljava/lang/CharSequence;Ljava/lang/CharSequence;Z)Ljava/lang/String;
|
public static final fun commonSuffixWith (Ljava/lang/CharSequence;Ljava/lang/CharSequence;Z)Ljava/lang/String;
|
||||||
|
|||||||
Reference in New Issue
Block a user