Converter para bytes é perigoso. É melhor, mais seguro e mais rápido, converter para caracteres mesmo.
No seu caso, você poderia ter algo como:
class Capitalize {
// "Capitalização" ingênua - só converte a primeira inicial para maiúsculas.
public static String capitalize (final String str) {
char[] chars = str.toCharArray();
if (chars.length >= 1)
chars[0] = Character.toUpperCase (chars[0]);
return new String(chars);
}
// Esta é uma normalização mais completa, mas pode ter alguns problemas também.
// Um deles, como você deve perceber, é que ela não preserva os espaços.
// Outra é que certas partículas nos nomes serão também passadas para maiúsculas - não é esquisito "João Da Silva"?
// Para tanto, você pode alterar "ret.append (capitalize (partes[i])" para checar
// se a partícula deve ou não ser capitalizada.
public static String capitalize2 (final String str) {
String[] partes = str.split ("\\s+");
StringBuilder ret = new StringBuilder (str.length());
for (int i = 0; i < partes.length; ++i) {
if (i != 0) ret.append (" ");
ret.append (capitalize (partes[i]));
}
return ret.toString();
}
public static void main(String[] args) {
System.out.println (capitalize ("java"));
System.out.println (capitalize2 ("joao da silva paredes"));
}
}
em casa eu utilizo Java 5. Nessa versão da API, ja existe a classe StringUtils, também existe uma versão da StringUtils (que é mais utilizada) nos jar da apache commons lang.
Testei com a classe da api do java, mas não obtia o resultado esperado quando utilizado para mais de uma palavra ou o testo estivesse no formato pAlAvRa. por isso criei um método capitalieAll. Segue o código abaixo:
import com.sun.xml.internal.ws.util.StringUtils;
public class Capitalizar {
public static void main(String[] args) {
System.out.println(capitalizeAll("leanDRO anjOs nASCIImento"));
}
public static String capitalizeAll(String s) {
if (s != null) {
String newString = s.toLowerCase();
String[] array = newString.split(" ");
newString = "";
for (int i = 0; i < array.length; i++) {
newString += StringUtils.capitalize(array[i]) + " ";
}
s = newString.trim();
}
return s;
}
}
Valew rapaziada consegui, fiz direto no meu select…
na especificação do sistema não consta se a pessoa vai ter que digitar com a primeira letra maiuscula
ou não, ela pode digitar da form que quizer então para verificar nomes iguais tipo
–> Sorriso e --> sorriso
fiz no select que compara os dois, tentei usar o ‘equalsIgnoreCase’ mais não deu o resultado esperado…
exemplo select:
select * from tabela where upper(nome_do_atributo) = upper(?) funcionou perfeitamente…