Campos do String
Modifier and Type: static Comparator<String>
Campo: CASE_INSENSITIVE_ORDER
Descrição: Um Comparator que ordena objetos String por meio do compareToIgnoreCase.
CASE_INSENSITIVE_ORDER
public static final Comparator<String> CASE_INSENSITIVE_ORDER
Um Comparator que ordena objetos String por meio do compareToIgnoreCase. Esse comparator é serializado.
Observe que este comparator não leva em consideração a localidade e resultará em um pedido insatisfatório para determinadas localidades. A classe Collator fornece comparação sensível ao código do idioma.
Essa função existe no Java desde a versão 1.2. Veja também a classe Collator.
Fonte do código: https://www.guj.com.br/t/comparator-string/212879
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
package com.sun.masterexam; import java.util.Arrays; import java.util.Comparator; class Comp2{ public static void main(String[] args){ String[] words = {"Good","Bad","Ugly"}; Comparator<String> best = new Comparator<String>(){ public int compare(String s1,String s2){ return s2.charAt(1) - s1.charAt(1); } }; Arrays.sort(words,best); System.out.println(words[0]); } } |
Construtores
String()
String() – Inicializa um objeto String recém-criado para que ele represente uma sequência de caracteres vazia.
public String() – Inicializa um objeto String recém-criado para que ele represente uma sequência de caracteres vazia. Observe que o uso desse construtor é desnecessário, pois as seqüências de caracteres são imutáveis.
1 |
String s = new String(); // apenas criando um objeto String |
String(byte[] bytes)
String(byte[] bytes) – Constrói uma nova String decodificando a matriz especificada de bytes usando o conjunto de caracteres padrão da plataforma.
public String(byte[] bytes) – Constrói uma nova String decodificando a matriz especificada de bytes usando o conjunto de caracteres padrão da plataforma.
O comprimento da nova String é uma função do conjunto de caracteres e, portanto, pode não ser igual ao comprimento da matriz de bytes.
O comportamento desse construtor quando os bytes fornecidos não são válidos no conjunto de caracteres padrão não é especificado.
A classe CharsetDecoder deve ser usada quando for necessário mais controle sobre o processo de decodificação.
Parâmetros: bytes – Os bytes a serem decodificados em caracteres. Esse método existe desde a versão 1.1.
Fonte do código: https://www.journaldev.com/770/string-byte-array-java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
package com.journaldev.util; public class ByteArrayToString { public static void main(String[] args) { byte[] byteArray = { 'P', 'A', 'N', 'K', 'A', 'J' }; byte[] byteArray1 = { 80, 65, 78, 75, 65, 74 }; String str = new String(byteArray); String str1 = new String(byteArray1); System.out.println(str); System.out.println(str1); } } |
String(byte[] ascii, int hibyte)
String(byte[] ascii, int hibyte) – Descontinuado. Este método não converte corretamente bytes em caracteres.
@Deprecated(since=”1.1″) public String(byte[] ascii, int hibyte)
Descontinuada.
Este método não converte corretamente bytes em caracteres. A partir do JDK 1.1, a maneira preferida de fazer isso é através dos construtores String que usam um conjunto de caracteres, nome de conjunto de caracteres ou que usam o conjunto de caracteres padrão da plataforma.
Aloca uma nova String contendo caracteres construídos a partir de uma matriz de valores inteiros de 8 bits. Cada caractere c na cadeia resultante é construído a partir do componente correspondente b na matriz de bytes, de modo que:
1 2 |
<strong><em>c</em></strong> == (char)(((hibyte & 0xff) << 8) | (<strong><em>b</em></strong> & 0xff)) |
Parâmetros:
ascii – Os bytes a serem convertidos em caracteres
hibyte – Os 8 bits principais de cada unidade de código Unicode de 16 bits
Veja também:
String(byte[], int, int, java.lang.String)
, String(byte[], int, int, java.nio.charset.Charset)
, String(byte[], int, int)
, String(byte[], java.lang.String)
, String(byte[], java.nio.charset.Charset)
, String(byte[])
Fonte do código: http://www.java2s.com/Tutorials/Java/java.lang/String/Java_String_byte_ascii_int_hibyte_Constructor.htm
1 2 3 4 5 6 7 |
public class Main { public static void main(String[] argv) { byte[] bytes = new byte[]{65,66,67,68}; System.out.println(new String(bytes,5)); } } |
String(byte[] bytes, int offset, int length)
String(byte[] bytes, int offset, int length) – Constrói uma nova String decodificando a sub-matriz especificada de bytes usando o conjunto de caracteres padrão da plataforma.
public String(byte[] bytes, int offset, int length) – Constrói uma nova String decodificando a sub-matriz especificada de bytes usando o conjunto de caracteres padrão da plataforma. O comprimento da nova String é uma função do conjunto de caracteres e, portanto, pode não ser igual ao comprimento do subarray.
O comportamento desse construtor quando os bytes fornecidos não são válidos no conjunto de caracteres padrão não é especificado. A classe CharsetDecoder deve ser usada quando for necessário mais controle sobre o processo de decodificação.
Parâmetros:
bytes – Os bytes a serem decodificados em caracteres
offset – O índice do primeiro byte a decodificar
length – O número de bytes a decodificar
Lança:
IndexOutOfBoundsException – se o deslocamento for negativo, o comprimento será negativo ou o deslocamento será maior que bytes.length – length
Esse método existe desde da versão 1.1.
Fonte do código: http://www.java2s.com/Code/JavaAPI/java.lang/newStringbytebytesintoffsetintlength.htm
1 2 3 4 5 6 7 8 9 10 11 |
public class Main { public static void main(String args[]) { byte ascii[] = { 65, 66, 67, 68, 69, 70 }; String s1 = new String(ascii); System.out.println(s1); String s2 = new String(ascii, 2, 3); System.out.println(s2); } } |
String(byte[] ascii, int hibyte, int offset, int count)
String(byte[] ascii, int hibyte, int offset, int count) – Descontinuado. Este método não converte corretamente bytes em caracteres.
@Deprecated(since=”1.1″) public String(byte[] ascii, int hibyte, int offset, int count)
Descontinuado.
Este método não converte corretamente bytes em caracteres. A partir do JDK 1.1, a maneira preferida de fazer isso é através dos construtores String que usam um conjunto de caracteres, nome de conjunto de caracteres ou que usam o conjunto de caracteres padrão da plataforma.
Aloca uma nova String construída a partir de uma sub-matriz de uma matriz de valores inteiros de 8 bits.
O argumento de deslocamento é o índice do primeiro byte da sub-matriz, e o argumento de contagem especifica o comprimento da sub-matriz.
Cada byte na sub-matriz é convertido em um char, conforme especificado no construtor String (byte [], int).
Parâmetros:
ascii – Os bytes a serem convertidos em caracteres
hibyte – Os 8 bits principais de cada unidade de código Unicode de 16 bits
deslocamento – O deslocamento inicial
count – o comprimento
Lança:
IndexOutOfBoundsException – se o deslocamento for negativo, a contagem será negativa ou o deslocamento será maior que ascii.length – count
Veja também:
String(byte[], int)
, String(byte[], int, int, java.lang.String)
, String(byte[], int, int, java.nio.charset.Charset)
, String(byte[], int, int)
, String(byte[], java.lang.String)
, String(byte[], java.nio.charset.Charset)
, String(byte[])
Fonte do código: http://www.java2s.com/Tutorials/Java/java.lang/String/Java_String_byte_ascii_int_hibyte_int_offset_int_count_Constructor.htm
1 2 3 4 5 6 7 |
public class Main { public static void main(String[] argv) { byte[] bytes = new byte[]{65,66,67,68}; System.out.println(new String(bytes,5,1,3)); } } |
String(byte[] bytes, int offset, int length, String charsetName)
String(byte[] bytes, int offset, int length, String charsetName) – Constrói uma nova String decodificando a sub-matriz especificada de bytes usando o conjunto de caracteres especificado.
public String(byte[] bytes, int offset, int length, String charsetName) throws UnsupportedEncodingException
Constrói uma nova String decodificando a sub-matriz especificada de bytes usando o conjunto de caracteres especificado. O comprimento da nova String é uma função do conjunto de caracteres e, portanto, pode não ser igual ao comprimento do subarray.
O comportamento desse construtor quando os bytes fornecidos não são válidos no conjunto de caracteres especificado não é especificado. A classe CharsetDecoder deve ser usada quando for necessário mais controle sobre o processo de decodificação.
Parâmetros:
bytes – Os bytes a serem decodificados em caracteres
offset – O índice do primeiro byte a decodificar
length – O número de bytes a decodificar
charsetName – O nome de um charset suportado
Lança:
UnsupportedEncodingException – se o conjunto de caracteres nomeado não for suportado.
IndexOutOfBoundsException – se o deslocamento for negativo, o comprimento será negativo ou o deslocamento será maior que bytes.length – length
Esse método existe desde da versão 1.1.
Fonte do código: http://www.java2s.com/Tutorials/Java/java.lang/String/Java_String_byte_bytes_int_offset_int_length_String_charsetName_Constructor.htm
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
import java.io.UnsupportedEncodingException; public class Main { public static void main(String[] argv) { byte[] bytes = new byte[]{65,66,67,68}; try { System.out.println(new String(bytes,1,3,"ASCII")); } catch (UnsupportedEncodingException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } |
String(byte[] bytes, int offset, int length, Charset charset)
String(byte[] bytes, int offset, int length, Charset charset) – Constrói uma nova String decodificando a sub-matriz especificada de bytes usando o conjunto de caracteres especificado.
public String(byte[] bytes, int offset, int length, Charset charset) – Constrói uma nova String decodificando a sub-matriz especificada de bytes usando o conjunto de caracteres especificado. O comprimento da nova String é uma função do conjunto de caracteres e, portanto, pode não ser igual ao comprimento do subarray.
Esse método sempre substitui as sequências de entrada malformada e caracteres incorrigíveis pela seqüência de substituição padrão desse conjunto de caracteres. A classe CharsetDecoder deve ser usada quando for necessário mais controle sobre o processo de decodificação.
Parâmetros:
bytes – Os bytes a serem decodificados em caracteres
offset – O índice do primeiro byte a decodificar
length – O número de bytes a decodificar
charset – o charset a ser usado para decodificar os bytes
Lança:
IndexOutOfBoundsException – se o deslocamento for negativo, o comprimento será negativo ou o deslocamento será maior que bytes.length – length
Esse método existe desde a versão 1.6.
Fonte do código: http://www.java2s.com/Tutorials/Java/java.lang/String/Java_String_byte_bytes_int_offset_int_length_Charset_charset_Constructor.htm
1 2 3 4 5 6 7 8 9 |
import java.nio.charset.Charset; public class Main { public static void main(String[] argv) { byte[] bytes = new byte[]{65,66,67,68}; System.out.println(new String(bytes,1,3, Charset.forName("ASCII"))); } } |
String(byte[] bytes, String charsetName)
String(byte[] bytes, String charsetName) – Constrói uma nova String decodificando a matriz especificada de bytes usando o conjunto de caracteres especificado.
public String(byte[] bytes, String charsetName) throws UnsupportedEncodingException
Constrói uma nova String decodificando a matriz especificada de bytes usando o conjunto de caracteres especificado. O comprimento da nova String é uma função do conjunto de caracteres e, portanto, pode não ser igual ao comprimento da matriz de bytes.
O comportamento desse construtor quando os bytes fornecidos não são válidos no conjunto de caracteres especificado não é especificado. A classe CharsetDecoder deve ser usada quando for necessário mais controle sobre o processo de decodificação.
Parâmetros:
bytes – Os bytes a serem decodificados em caracteres
charsetName – O nome de um charset suportado
Lança:
UnsupportedEncodingException – se o conjunto de caracteres nomeado não for suportado
Esse método existe desde a versão 1.1.
Fonte do código: http://www.java2s.com/Tutorials/Java/java.lang/String/Java_String_byte_bytes_String_charsetName_Constructor.htm
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
import java.io.UnsupportedEncodingException; public class Main { public static void main(String[] argv) { byte[] bytes = new byte[]{65,66,67,68}; try { System.out.println(new String(bytes,"ASCII")); } catch (UnsupportedEncodingException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } |
String(byte[] bytes, Charset charset)
String(byte[] bytes, Charset charset) – Constrói uma nova String decodificando a matriz especificada de bytes usando o conjunto de caracteres especificado.
public String(byte[] bytes, Charset charset) – Constrói uma nova String decodificando a matriz especificada de bytes usando o conjunto de caracteres especificado. O comprimento da nova String é uma função do conjunto de caracteres e, portanto, pode não ser igual ao comprimento da matriz de bytes.
Esse método sempre substitui as seqüências de entrada malformada e caracteres incorrigíveis pela seqüência de substituição padrão desse conjunto de caracteres. A classe CharsetDecoder deve ser usada quando for necessário mais controle sobre o processo de decodificação.
Parâmetros:
bytes – Os bytes a serem decodificados em caracteres
charset – o charset a ser usado para decodificar os bytes
Esse método existe desde a versão 1.6.
Fonte do código: https://stackoverflow.com/questions/88838/how-to-convert-strings-to-and-from-utf8-byte-arrays-in-java
1 2 3 4 5 |
byte[] b1 = szP1.getBytes("ISO-8859-1"); System.out.println(b1.toString()); String szUT8 = new String(b1, "UTF-8"); System.out.println(szUT8); |
String(char[] value)
String(char[] value) – Aloca uma nova String para que ela represente a sequência de caracteres atualmente contidos no argumento da matriz de caracteres.
public String(char[] value) – Aloca uma nova String para que ela represente a sequência de caracteres atualmente contidos no argumento da matriz de caracteres. O conteúdo da matriz de caracteres é copiado; a modificação subsequente da matriz de caracteres não afeta a sequência recém-criada.
Parâmetros:
valor – o valor inicial da sequência
Fonte do código: http://www.java2s.com/Code/JavaAPI/java.lang/newStringcharvalueintoffsetintcount.htm
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
public class Main { public static void main(String args[]) { char charArray[] = { 'b', 'i', 'r', 't', 'h', ' ', 'd', 'a', 'y' }; String s = new String("hello"); // use String constructors String s1 = new String(); String s2 = new String(s); String s3 = new String(charArray); String s4 = new String(charArray, 6, 3); System.out.printf("s1 = %s\ns2 = %s\ns3 = %s\ns4 = %s\n", s1, s2, s3, s4); } } |
String(char[] value, int offset, int count)
String(char[] value, int offset, int count) – Aloca uma nova String que contém caracteres de uma sub-matriz do argumento da matriz de caracteres.
public String(char[] value, int offset, int count) – Aloca uma nova String que contém caracteres de uma sub-matriz do argumento da matriz de caracteres.
O argumento de deslocamento é o índice do primeiro caractere da sub-matriz e o argumento de contagem especifica o comprimento da sub-matriz. O conteúdo do subarray é copiado; a modificação subsequente da matriz de caracteres não afeta a sequência recém-criada.
Parâmetros:
valor – matriz que é a fonte dos caracteres
deslocamento – O deslocamento inicial
count – o comprimento
Lança:
IndexOutOfBoundsException – se o deslocamento for negativo, a contagem será negativa ou o deslocamento será maior que value.length – count
Fonte do código: http://www.java2s.com/Tutorials/Java/java.lang/String/Java_String_char_value_int_offset_int_count_Constructor.htm
1 2 3 4 5 6 7 8 9 |
public class Main { public static void main(String args[]) { /* ww w . j a va2 s .co m*/ char charArray[] = { 'j', 'a', 'v', 'a', '2', 's', '.', 'c', 'o','m' }; String s4 = new String(charArray, 6, 3); System.out.println(s4); } } |
Fonte: https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/lang/String.html
Deixe um comentário