Construtores
String(int[] codePoints, int offset, int count)
String(int[] codePoints, int offset, int count) – Aloca uma nova String que contém caracteres de uma sub-matriz do argumento da matriz de pontos de código Unicode.
public String(int[] codePoints, int offset, int count) – Aloca uma nova String que contém caracteres de uma sub-matriz do argumento da matriz de pontos de código Unicode.
O argumento de deslocamento é o índice do primeiro ponto de código da sub-matriz e o argumento de contagem especifica o comprimento da sub-matriz.
O conteúdo da sub-matriz é convertido em caracteres; a modificação subsequente da matriz int não afeta a sequência recém-criada.
Parâmetros:
codePoints – Matriz que é a fonte dos pontos de código Unicode
deslocamento – O deslocamento inicial
count – o comprimento
Lança:
IllegalArgumentException – se algum ponto de código Unicode inválido for encontrado em codePoints
IndexOutOfBoundsException – se o deslocamento for negativo, a contagem será negativa ou o deslocamento será maior que codePoints.length – count
Esse construtor existe desde a versão 1.5.
Fonte do código: http://www.java2s.com/Tutorials/Java/java.lang/String/Java_String_int_codePoints_int_offset_int_count_Constructor.htm
1 2 3 4 5 6 7 |
public class Main { public static void main(String[] argv) { int[] bytes = new int[] { 65, 66, 67, 68 }; System.out.println(new String(bytes, 1, 2)); } } |
String(String original)
String(String original) – Inicializa um objeto String recém-criado para que ele represente a mesma sequência de caracteres que o argumento; em outras palavras, a sequência recém-criada é uma cópia da sequência de argumentos.
public String(String original) – Inicializa um objeto String recém-criado para que ele represente a mesma sequência de caracteres que o argumento; em outras palavras, a sequência recém-criada é uma cópia da sequência de argumentos.
A menos que uma cópia explícita do original seja necessária, o uso desse construtor é desnecessário, pois as Strings são imutáveis.
Parâmetros:
original – Um String
Fonte do código: https://www.devmedia.com.br/string-em-java-entendendo-e-utilizando-essa-classe/25503
1
String texto = new String("Qualquer texto entre aspas é uma String");
String(StringBuffer buffer)
String(StringBuffer buffer) – Aloca uma nova sequência que contém a sequência de caracteres atualmente contidos no argumento de buffer da sequência.
public String(StringBuffer buffer) – Aloca uma nova sequência que contém a sequência de caracteres atualmente contidos no argumento de buffer da sequência.
O conteúdo do buffer da string é copiado; a modificação subsequente do buffer da string não afeta a string recém-criada.
Parâmetros:
buffer – Um StringBuffer
Fonte do código: https://stackoverflow.com/questions/2888943/stringbuffer-wont-read-whole-stream-into-a-string-java-android/2889310
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
URL u; try { u = new URL("http://feeds.timesonline.co.uk/c/32313/f/440134/index.rss"); HttpURLConnection c = (HttpURLConnection) u.openConnection(); c.setRequestProperty("User-agent","Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; InfoPath.1; .NET CLR 2.0.50727)"); c.setRequestMethod("GET"); c.setDoOutput(true); c.setReadTimeout(3000); c.connect(); StringBuffer stringBuffer = new StringBuffer(""); InputStream in = c.getInputStream(); InputStreamReader inp = new InputStreamReader(in); BufferedReader reader = new BufferedReader(inp); char[] buffer = new char[3072]; int len1 = 0; while ( (len1 = reader.read(buffer)) != -1 ) { String buff = new String(buffer,0,len1); stringBuffer.append(buff); } String stranica = new String(stringBuffer); c.disconnect(); reader.close(); inp.close(); in.close(); |
String(StringBuilder builder)
String(StringBuilder builder) – Aloca uma nova sequência que contém a sequência de caracteres atualmente contidos no argumento do construtor de sequências.
public String(StringBuilder builder) – Aloca uma nova sequência que contém a sequência de caracteres atualmente contidos no argumento do construtor de sequências.
O conteúdo do construtor de cadeias é copiado; a modificação subsequente do construtor de cadeias não afeta a cadeia recém-criada.
Esse construtor é fornecido para facilitar a migração para o StringBuilder. A obtenção de uma sequência de caracteres de um construtor de sequências por meio do método toString provavelmente será executada mais rapidamente e geralmente é a preferida.
Parâmetros:
construtor – Um StringBuilder
Esse construtor existe desde a versão 1.5.
Fonte do código: https://pclevinblog.pixnet.net/blog/post/314563258-%5Bjava%5Dstring-new-string%28%29%E9%A1%9E%E5%88%A5-%E5%BB%BA%E6%90%86%E5%AD%90
1 2 |
StringBuilder stringBuilder = new StringBuilder("java"); String str11 = new String(stringBuilder) ; |
Métodos
charAt(int index)
charAt(int index) – Retorna o valor do caractere no índice especificado.
public char charAt(int index) – Retorna o valor do caractere no índice especificado. Um índice varia de 0 a length () – 1.
O primeiro valor de char da sequência está no índice 0, o próximo no índice 1 e assim por diante, como na indexação de array.
Se o valor do caractere especificado pelo índice for um substituto, o valor substituto será retornado.
Especificado por:
charAt na interface CharSequence
Parâmetros:
index – o índice do valor do caractere.
Retornos:
o valor do caractere no índice especificado dessa sequência. O primeiro valor do caractere está no índice 0.
Lança:
IndexOutOfBoundsException – se o argumento do índice for negativo ou não for menor que o comprimento dessa sequência.
Fonte do código: https://www.guj.com.br/t/charat/62344/2
1 2 |
String x = "Roger" char c = x.charAt(0) |
chars()
chars() – Retorna um fluxo de int estendendo zero os valores de caracteres dessa sequência.
public IntStream chars() – Retorna um fluxo de int estendendo zero os valores de caracteres dessa sequência. Qualquer caractere mapeado para um ponto de código substituto é passado sem interpretação.
Especificado por:
caracteres na interface CharSequence
Retornos:
um IntStream de valores de caracteres dessa sequência
Esse método existe desde a versão 9.
Fonte do código: https://www.baeldung.com/java-string-to-stream
1 2 |
String testString = "String"; IntStream intStream = testString.chars(); |
codePointAt(int index)
codePointAt(int index) – Retorna o caractere (ponto de código Unicode) no índice especificado.
public int codePointAt(int index) – Retorna o caractere (ponto de código Unicode) no índice especificado. O índice refere-se a valores de caracteres (unidades de código Unicode) e varia de 0 a length () – 1.
Se o valor do caractere especificado no índice especificado estiver no intervalo de substituição alta, o índice a seguir será menor que o comprimento dessa String e o valor do caractere no índice a seguir estará na faixa de substituição baixa, o ponto de código suplementar correspondente a este par substituto é retornado. Caso contrário, o valor do caractere no índice especificado será retornado.
Parâmetros:
index – o índice para os valores de caracteres
Retornos:
o valor do ponto de código do caractere no índice
Lança:
IndexOutOfBoundsException – se o argumento do índice for negativo ou não for menor que o comprimento dessa sequência.
Esse método existe desde a versão 1.5.
Fonte do código: https://www.tutorialspoint.com/java/lang/string_codepointat.htm
Live Demo
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
package com.tutorialspoint; import java.lang.*; public class StringDemo { public static void main(String[] args) { String str = "JAVA"; System.out.println("String = " + str); // codepoint at index 1 int retval = str.codePointAt(1); // prints character at index1 in string System.out.println("Character(unicode point) = " + retval); } } |
codePointBefore(int index)
codePointBefore(int index) – Retorna o caractere (ponto de código Unicode) antes do índice especificado.
public int codePointBefore(int index) – Retorna o caractere (ponto de código Unicode) antes do índice especificado. O índice refere-se a valores de caracteres (unidades de código Unicode) e varia de 1 a comprimento.
Se o valor do caractere em (índice – 1) estiver no intervalo de substituição baixa, (índice – 2) não for negativo e o valor do caractere em (índice – 2) estiver no intervalo de substituição principal, o ponto de código suplementar o valor do par substituto é retornado.
Se o valor do char no índice – 1 for um substituto baixo ou substituto alto não emparelhado, o valor substituto será retornado.
Parâmetros:
índice – o índice após o ponto de código que deve ser retornado
Retornos:
o valor do ponto de código Unicode antes do índice especificado.
Lança:
IndexOutOfBoundsException – se o argumento index for menor que 1 ou maior que o comprimento dessa string.
Esse método existe desde a versão 1.5.
Fonte do código: https://www.tutorialspoint.com/java/lang/string_codepointbefore.htm
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
package com.tutorialspoint; import java.lang.*; public class StringDemo { public static void main(String[] args) { String str = "JAVA"; System.out.println("String = " + str); // codepoint before index 1 i.e J int retval = str.codePointBefore(1); // prints character before index1 in string System.out.println("Character(unicode point) = " + retval); } } |
codePointCount(int beginIndex, int endIndex)
codePointCount(int beginIndex, int endIndex) – Retorna o número de pontos de código Unicode no intervalo de texto especificado dessa String.
public int codePointCount(int beginIndex, int endIndex) – Retorna o número de pontos de código Unicode no intervalo de texto especificado dessa String.
O intervalo de texto começa no beginIndex especificado e se estende até o char no índice endIndex – 1. Portanto, o comprimento (em caracteres) do intervalo de texto é endIndex-beginIndex. Substitutos não emparelhados no intervalo de texto contam como um ponto de código cada.
Parâmetros:
beginIndex – o índice para o primeiro caractere do intervalo de texto.
endIndex – o índice após o último caractere do intervalo de texto.
Retornos:
o número de pontos de código Unicode no intervalo de texto especificado
Lança:
IndexOutOfBoundsException – se o beginIndex for negativo ou endIndex for maior que o comprimento dessa String ou beginIndex for maior que endIndex.
Esse método existe desde a versão 1.5.
Fonte do código: https://www.tutorialspoint.com/java/lang/string_codepointcount.htm
Live Demo
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
package com.tutorialspoint; import java.lang.*; public class StringDemo { public static void main(String[] args) { String str = "JAVA programming language"; System.out.println("String = " + str); // codepoint from index 1 to index 8 int retval = str.codePointCount(1, 8); // prints character from index 1 to index 8 System.out.println("Codepoint count = " + retval); } } |
codePoints()
codePoints() – Retorna um fluxo de valores de pontos de código dessa sequência.
public IntStream codePoints() – Retorna um fluxo de valores de pontos de código dessa sequência. Quaisquer pares substitutos encontrados na sequência são combinados como se por Character.toCodePoint e o resultado é passado para o fluxo.
Quaisquer outras unidades de código, incluindo caracteres BMP comuns, substitutos não emparelhados e unidades de código indefinidas, são estendidos em zero aos valores int que são passados para o fluxo.
Especificado por:
codePoints na interface CharSequence
Retornos:
um IntStream de código Unicode aponta dessa sequência
Esse método existe desde a versão 9.
Fonte do código: https://www.geeksforgeeks.org/intstream-codepoints-method-in-java-with-examples/
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
import java.util.stream.IntStream; public class GFG { public static void main(String args[]) { // String to be converted String str = "GeeksForGeeks"; // Convert the string to code values // using codePoints() method IntStream stream = str.codePoints(); System.out.println("ASCII Values are: "); // Print the code points stream.forEach(System.out::println); } } |
compareTo(String anotherString)
compareTo(String anotherString) – Compara duas seqüências lexicograficamente.
public int compareTo(String anotherString) – Compara duas seqüências lexicograficamente. A comparação é baseada no valor Unicode de cada caractere nas seqüências de caracteres.
A sequência de caracteres representada por esse objeto String é comparada lexicograficamente com a sequência de caracteres representada pela sequência de argumentos.
O resultado é um número inteiro negativo se esse objeto String preceder lexicograficamente a sequência de argumentos. O resultado é um número inteiro positivo se este objeto String seguir lexicograficamente a sequência de argumentos.
O resultado é zero se as seqüências de caracteres forem iguais; compareTo retorna 0 exatamente quando o método equals (Object) retornaria true.
Esta é a definição de ordenação lexicográfica. Se duas cadeias de caracteres forem diferentes, elas terão caracteres diferentes em algum índice que seja um índice válido para ambas as cadeias, ou seus comprimentos serão diferentes, ou ambos.
Se eles tiverem caracteres diferentes em uma ou mais posições de índice, seja k o menor desse índice; a sequência cujo caractere na posição k tem o valor menor, conforme determinado pelo operador <, precede lexicograficamente a outra sequência.
Nesse caso, compareTo retorna a diferença dos dois valores de caracteres na posição k nas duas cadeias – ou seja, o valor:
this.charAt(k)-anotherString.charAt(k)
Se não houver uma posição de índice na qual eles diferem, a cadeia mais curta precede lexicograficamente a cadeia mais longa. Nesse caso, compareTo retorna a diferença dos comprimentos das cadeias – ou seja, o valor:
this.length()-anotherString.length()
Para comparação mais fina de String, consulte Collator.
Especificado por:
compareTo
na interface Comparable<String>
Parâmetros:
anotherString – a String a ser comparada.
Retornos:
o valor 0 se a sequência de argumentos for igual a essa sequência; um valor menor que 0 se essa sequência for lexicograficamente menor que o argumento da sequência; e um valor maior que 0 se essa sequência for lexicograficamente maior que o argumento da sequência.
Fonte do código: https://www.tutorialspoint.com/java/java_string_compareto_anotherstring.htm
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
public class Test { public static void main(String args[]) { String str1 = "Strings are immutable"; String str2 = "Strings are immutable"; String str3 = "Integers are not immutable"; int result = str1.compareTo( str2 ); System.out.println(result); result = str2.compareTo( str3 ); System.out.println(result); result = str3.compareTo( str1 ); System.out.println(result); } } |
compareToIgnoreCase(String str)
compareToIgnoreCase(String str) – Compara duas seqüências lexicograficamente, ignorando as diferenças entre maiúsculas e minúsculas.
public int compareToIgnoreCase(String str) – Compara duas seqüências lexicograficamente, ignorando as diferenças entre maiúsculas e minúsculas.
Esse método retorna um número inteiro cujo sinal é o de chamar compareTo com versões normalizadas das seqüências de caracteres em que as diferenças entre maiúsculas e minúsculas foram eliminadas chamando Character.toLowerCase (Character.toUpperCase (caractere)) em cada caractere.
Observe que esse método não leva em consideração o código de idioma e resultará em uma solicitação insatisfatória para determinados códigos de idioma. A classe Collator fornece comparação sensível ao código do idioma.
Parâmetros:
str – a String a ser comparada.
Retornos:
um número inteiro negativo, zero ou um número inteiro positivo, pois a String especificada é maior que, igual a ou menor que essa String, ignorando as considerações de caso.
Esse método existe desde a versão 1.2.
Veja também:
Fonte do código: https://www.tutorialspoint.com/java/java_string_comparetoignorecase.htm
Live Demo
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
public class Test { public static void main(String args[]) { String str1 = "Strings are immutable"; String str2 = "Strings are immutable"; String str3 = "Integers are not immutable"; int result = str1.compareToIgnoreCase( str2 ); System.out.println(result); result = str2.compareToIgnoreCase( str3 ); System.out.println(result); result = str3.compareToIgnoreCase( str1 ); System.out.println(result); } } |
Fonte: https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/lang/String.html
Deixe um comentário