Desculpa ate perguntar auhau … mais meu reciocinio hoje ta lento… queria algo simples …
[code]String s = objeto.getClass().getSimpleName() ;
//Como fazer só o 1° caracter de S ir pra LowerCase ??? obrigado ^^[/code]
Desculpa ate perguntar auhau … mais meu reciocinio hoje ta lento… queria algo simples …
[code]String s = objeto.getClass().getSimpleName() ;
//Como fazer só o 1° caracter de S ir pra LowerCase ??? obrigado ^^[/code]
[quote=Lavieri]Desculpa ate perguntar auhau … mais meu reciocinio hoje ta lento… queria algo simples …
[code]String s = objeto.getClass().getSimpleName() ;
//Como fazer só o 1° caracter de S ir pra LowerCase ??? obrigado ^^[/code][/quote]
Bem, como há muito não contribuo (pois estou fazendo um trabalho dentro do cliente) e estava passando por aqui, resolvi entrar.
Vamos lá.
Neste teu caso, se a primeira letra do nome da classe de “objeto” for maiúscula (padrão) ele já vai te retornar dessa forma, não precisa se preocupar.
ex:
String teste = "";
String s = teste.getClass().getSimpleName() ;
System.out.println(s);
vai retornar String
Caso não seja (esteja fora do padrão), não entendo para que você quer mudar, entretanto, requisito é requisito.
String teste = "";
String s = teste.getClass().getSimpleName();
s = s.toLowerCase(); // No meu caso, tenho que jogar para caixa baixa para fazer a brincadeira
System.out.println("String antes da transformação: " + s);
s = s.replace(s.substring(0,1), s.substring(0,1).toUpperCase());
System.out.println("String após a transformação: " + s);
Abraços
é LowerCase … e não Upper ^^ mais tanto faz… C me respondeu mesmo assim \o/ … precisava deixar so a primeira pra minuscula… tipo
MeuObjetoDeNomeDoido a = new MeuObjetoDeNomeDoido ();
String s = a.getClass().getSimpleName();
ai precisava reduzir so a 1° letra pra minusculo… \o/ e sua resposta ja me server… vlw mesmo
Duvida… ele so vai subistituir o 1° ne ? … não vai tenrar subistiuir + de 1 vez ?
[quote=celso.martins]…
Caso não seja (esteja fora do padrão), não entendo para que você quer mudar, entretanto, requisito é requisito…[/quote]
so respondendo… é pq fiz um método generico para um Hibernate, fazer uma consulta no banco de dados
protected List<T> genericFindFrom(IPersistente entidade) {
//Nome da Entidade
String en = entidade.getClass().getSimpleName();
//Nome da propriedade da entidade
String pen = en.replace(en.substring(0, 1), en.substring(0, 1).toLowerCase());
return (List<T>)currentSession()
.getNamedQuery(getEntidadeClass().getSimpleName() +".from" + en)
.setEntity(pen, entidade)
.list();
}
Aplicacação seri
public List<Cidade> findFrom(Pais pais) {
return super.genericFindFrom(pais);
}
que no caso faz uma consulta do tipo
return (List<Cidade>)currentSession()
//Note que Pais aqui precisa ser maiusculo
.getNamedQuery("Cidade.fromPais")
//note que aqui é minusculo, pois se trata de 1 propriedade de Cidade
.setEntity("pais", entidade)
.list();
Vlw pela ajuda
é LowerCase … e não Upper ^^ mais tanto faz… C me respondeu mesmo assim \o/ … precisava deixar so a primeira pra minuscula… tipo
MeuObjetoDeNomeDoido a = new MeuObjetoDeNomeDoido ();
String s = a.getClass().getSimpleName();
ai precisava reduzir so a 1° letra pra minusculo… \o/ e sua resposta ja me server… vlw mesmo
Duvida… ele so vai subistituir o 1° ne ? … não vai tenrar subistiuir + de 1 vez ?[/quote]
Maravilha. Atirei no que vi e acertei no que não vi. Estou, como costumo dizer, em pé sem cair e deitado sem dormir. Estou me capacitando em BPM, SOA, estudando o Effective Java, Refactoring, fazendo o trabalho dentro do cliente que falei (que também é estudo/capacitação), sendo pai e marido. =)
A única forma que consegui para ampliar meu dia foi dormir até 4 horas por dia. Estou injetando cafeína na veia do pé, para não dar problema de úlcera.
Mas, respondendo a sua pergunta, ele vai substituir todos. Para somente o primeiro utilize replaceFirst.
Inclusive dá ensejo a uma dúvida. Alguém sabe a diferença entre replace e replaceAll? Vou fazer uns testes para ver se descubro, enquanto relaxo do BPM. =)
Abraços
import java.util.Scanner;
public class MaiusculoPrimeiraLetra {
public static void main(String args[]){
Scanner input = new Scanner(System.in);
// nome em minusculo.
String nomeMinusculo = input.next();
// peca primeira letra em transforma a mesma em Maiusculo
String primeiraLetra = nomeMinusculo.toUpperCase().substring(0, 1);
// restante do nome em minusculo.
String nomeMinusculo1 = nomeMinusculo.substring(1, nomeMinusculo.length());
// concatena ambas as partes
String nomePrimeiraLetraEmMaicuculo = primeiraLetra+nomeMinusculo1;
// exibe resultado.
System.out.print(nomePrimeiraLetraEmMaicuculo);
}
}
Para fazer o contrário basta alterar o método para LowerCase.
http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html
e tópico a respeito: http://www.guj.com.br/posts/list/68545.java
celso.martins…
não conhecia o método Replace… valeu a dica ai amigão…
import java.util.Scanner;
public class MaiusculoPrimeiraLetra {
public static void main(String args[]){
Scanner input = new Scanner(System.in);
// nome em minusculo.
String strNome = input.next();
strNome = strNome.replaceFirst(strNome.substring(0, 1), strNome.substring(0, 1).toUpperCase());
System.out.print(strNome);
}
}
http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html
e tópico a respeito: http://www.guj.com.br/posts/list/68545.java :)[/quote]
Verdade, não tinha visto.
Só que consigo fazer o replaceAll com CharSequence.
O código abaixo funciona da mesma forma com replace.
s = s.replaceAll(s.substring(0,1), s.substring(0,1).toLowerCase());
Então, acho que a diferença seria: com replaceAll eu posso usar regex. Não que eu tenha que usar. =)
Valeu pela explicação e links.
Abraços.