StringBuffer t = new StringBuffer();
t.append("Duvida de java");
System.out.println(t.substring(2,5));
Como faço para passar um parametro para uma funçao desta forma… ou seja, passar valor do StringBuffer … t.substring…
pq sei q poderia criar uma função assim: substring(t,2,5);
Não entendi muito bem sua pergunta, ve se foi isso que tu quis dizer…
StringBuffer t = new StringBuffer();
t.append("Essa é a sua dúvida?");
System.out.println(teuMetodo(t,2,5));
//mais alguns códigos inúteis...
public String teuMetodo(StringBuffer sb, int posInicial, int posFinal){
return sb.toString().substring(posInicial, posFinal);
}
A duvida é a seguinte: Como é q os projetistas de java, conseguem passar o parametro… desta forma por exemplo…
t.substring(1,10)… entende… o stringBuffer ‘t’ esta sendo passado, nao dentro dos parenteses… entendeu agora… como criar… o metodo…e passar da segunte forma… t.teumetodo(1,10);
Mas pelo que vi, a variavel “t” não está sendo passada como parametro para nenhum metodo, o que está acontecendo é a chamada de um metodo de StringBuffer chamado substring() e para esse metodo estão sendo passados 2 parametros int, o retorno do metodo substring() por sua vez está sendo passado para o metodo println(), só isso, não vi lugar algum onde o StringBuffer é passado como parametro.
Suspiro10… uma explicaçao um pouco mais detalhada.
StringBuffer é uma classe… com seus n métodos e atributos…
um dos métodos da StringBuffer é o append(), existe diversas sobrecargas para este método, e uma delas recebe uma String como parametro
t.append("Duvida de java")
isso faz com que o StringBuffer guarde dentro dele essa String “Duvida de java”.
Depois outro método do StringBuffer é o substring, que recebe dois numeros inteiros por parametro, e retorna uma nova String.
t.substring(2,5)
Então internamente ele ja tem a String “Duvida de java”, assim ele pega essa String, da posição 2 a 5, e cria uma nova String retornando essa nova String para quem chamou o método substring(int, int).