toString

8 respostas
iniciante
J

Olá,
Estou estudando java e sou iniciante, quero me tornar um dev e com isso não quero deixar nenhuma duvida para trás. Enfim, o toString só pode ser usado por atributos da classe?? pois eu não consigo atribuir funçoes da classe no mesmo.

Grato pela atenção!

8 Respostas

W

Vc pode explicar melhor o que vc está tentando fazer? Se puder mostra o código que tentou e não conseguiu.

De qualquer forma, o toString é um método como qualquer outro, vc pode invocar outros métodos dentro dele.

Vc poderia fazer algo assim, por exemplo:

class Person {
  private String name;
  private int age;

  Person(String n, int a) {
    name = n;
    age = a;
  }

  int getAge() {
    return age;
  }

  String getName() {
    return name;
  }

  @Override
  public String toString() {
    return String.format("Person[name=%s, age=%d]", getName(), getAge());
  }
}

public class Main {
  public static void main(String... args) {
    System.out.println(new Person("Junior", 20));
  }
}
J
Seria tipo isso:

package operacoes;

public class NumerosComplexos {

private double inteiro;

private double fracionario;
public NumerosComplexos(double inteira, double fracionaria) {
	inteiro = inteira;
	fracionario = fracionaria;
}

public double getInteiro() {
	return this.inteiro;
}
public void setInteiro(double inteiro) {
	this.inteiro = inteiro;
}
public double getFracionario () {
	return this.fracionario;
}
public void setFracionario(double fracionario) {
	this.fracionario = fracionario;
}

public double somar (double a, double bi, double c, double di) {
	this.inteiro = (a + bi) + (c + di);
	return this.inteiro;
}

public double subtrair (double a, double bi, double c, double di) {
	this.inteiro = (a - bi) + (c - di);
	return this.inteiro;
}

public double multiplicar (double a, double bi, double c, double di) {
	this.inteiro = (a + bi) * (c + di);
	return this.inteiro;
}

public double dividir  (double a, double bi, double c, double di) {
	this.fracionario = (a+bi) / (c+di);
	return this.fracionario;
}

public Boolean comparacao ( ) {
	if(this.inteiro == this.fracionario) {
		return true;
	}
	return false;
}
public String representacao () {
	return String.valueOf(this.inteiro);
}
public String toString() {
	return "Somar: " + somar +"Subtrair: " + subtrair;
}

}

J

Queria colocar os metodos no toString, mas n sei se isso é possível

D

Também sou novo e uso toString da seguinte forma: Integer to String.

Exemplo 1: tenho um tela de cadastro onde salvo numero no mysql como integer e para mostrar em um campo no formulário, aceita string, tenho que capturar como int e usar o toString para inserir ele no campo.

Exemplo 2: jTextField.setText(Integer.toString(c.getCodigo()));

W

Acho que não entendi sua ideia ainda. Para mim não faz sentido invocar os métodos somar() e subtrair() dentro do toString().

De qualquer forma, é como eu disse, vc consegue sim invocar métodos de dentro do toString, mas vc tem que invocar com os argumentos corretos, tipo assim:

public String toString() {
  return "Somar: " + somar(1, 2, 3, 4) + "Subtrair: " + subtrair(1, 2, 3, 4);
}
J

Não to string é usado pra converter qualquer coisa onde é possivel representar por palavras em string como numeros e datas

F

O toString() serve para você exportar os dados de um objeto.

Você sobrescreve ele para que a exportação tenha o formato que você precisar.

S

O toString() serve para obter uma representação textual do seu objeto.

Criado 14 de abril de 2021
Ultima resposta 15 de abr. de 2021
Respostas 8
Participantes 6