¿Qué significa "it <= ''" en la function de cadena de recorte aquí?

Tener un código java para recortar una cadena

String title = titleEt.getText().toString().trim(); 

Cuando cubrí a Kotlin, pensé que este debería ser el código de kotlin para recortar el espacio principal y el espacio final.

 val title = titleEt.text.toString().trim() 

pero el IDE genera este código

 val title = titleEt.text.toString().trim { it <= ' ' } 

¿Qué es esto {it <= ''} aquí, es cualquier char less y que ''?

Solutions Collecting From Web of "¿Qué significa "it <= ''" en la function de cadena de recorte aquí?"

El String#trim() Java elimina todos los puntos de código entre '\u0000' (NUL) y '\u0020' (SPACE) desde el inicio y el final de la cadena.

Kotlin's CharSequence.trim() elimina solo espacios en blanco CharSequence.trim() y finales de forma pnetworkingeterminada (caracteres que coincidan con Char.isWhitespace , que es Character#isWhitespace(char) ). Para el mismo comportamiento que Java, el IDE generó un pnetworkingicado que coincide con los mismos caracteres que Java habría recortado.

Estos caracteres incluyen espacios en blanco ASCII, pero también incluyen caracteres de control.

 '\u0000' ␀ ('\0') '\u0001' ␁ '\u0002' ␂ '\u0003' ␃ '\u0004' ␄ '\u0005' ␅ '\u0006' ␆ '\u0007' ␇ ('\a') '\u0008' ␈ ('\b') '\u0009' ␉ ('\t') '\u000A' ␊ ('\n') '\u000B' ␋ ('\v') '\u000C' ␌ ('\f') '\u000D' ␍ ('\r') '\u000E' ␎ '\u000F' ␏ '\u0010' ␐ '\u0011' ␑ '\u0012' ␒ '\u0013' ␓ '\u0014' ␔ '\u0015' ␕ '\u0016' ␖ '\u0017' ␗ '\u0018' ␘ '\u0019' ␙ '\u001A' ␚ '\u001B' ␛ '\u001C' ␜ '\u001D' ␝ '\u001E' ␞ '\u001F' ␟ '\u0020' ␠ (' ') 

la function de recorte en kotlin permite un pnetworkingicado, por lo que recortar en código Java (elimina los espacios en blanco) es lo mismo que .trim { it <= ' ' } También puede usar .trim() en kotlin

Ver la sobrecarga String.trim que toma un pnetworkingicate . Se dice que recorta los caracteres iniciales y finales de la cadena que coinciden con el pnetworkingicado. En su caso, recortará los caracteres que son menores o iguales a ' ' (el espacio en blanco).

Así es exactamente como funciona java.lang.String#trim .

Está comparando el ASCII de cada char que '' (espacio). Si el ASCII del carácter es menor o igual que el ASCII de '' (espacio), se elimina.

Si mira la tabla ASCII , los símbolos debajo del espacio (ASCII 32) son caracteres de control no imprimibles. Por lo tanto, todos los caracteres imprimibles distintos del espacio están por encima del ASCII del espacio (que es 32). Entonces, si los caracteres cuyo ASCII es menor o igual que el de '' (espacio) son eliminados, obtendremos el String restante sin espacios en blanco inicial y posterior.

Así es como funciona el trim() de Java trim() . Sin embargo, puedes usar trim() también en Kotlin:

 titleEt.text.toString().trim()