Java를 사용하는 방법
12272 단어 braziliandevsjava
print()
viu uns números estranhos?class User {
private String name;
private int age;
User(String name, int age) {
this.name = name;
this.age = age;
}
}
public class Main {
public static void main(String... args) {
User user = new User("João", 29);
System.out.println(user); // Apenas um ex.: User@1a2b3c
}
}
Não se preocupe, a sua classe está apenas usando o método
toString()
implementado na classe Object
.Nesta implementação é usado o nome da classe seguindo pelo símbolo @ e finalizando com o hashcode do objeto (mas em hexadecimal).
Dá para atestar isso com o código abaixo.
class User {
private String name;
private int age;
User(String name, int age) {
this.name = name;
this.age = age;
}
}
public class Main {
public static void main(String... args) {
User user = new User("João", 29);
String className = user.getClass().getName();
int hashCode = user.hashCode();
String myToString = className + '@' + Integer.toHexString(hashCode);
System.out.println(user.toString().equals(myToString)); // true
}
}
오우올한도a documentação .
오우올한도o código fonte .
당신은 당신이 당신을 사랑할 수 있도록 최선을 다할 것입니다.
class User {
private String name;
private int age;
User(String name, int age) {
this.name = name;
this.age = age;
}
@Override
public String toString() {
return "User[name=" + name + ", age=" + age + "]";
}
}
O jeito mostrado no exemplo acima é parecido com o que algumas IDEs geram automaticamente. 가장 좋은 의견은 다음과 같습니다:
@Override
public String toString() {
return String.format("User[name=%s, age=%d]", name, age);
}
Ou, com 최근 Java 17:
@Override
public String toString() {
return "User[name=%s, age=%d]".formatted(name, age);
}
오 que achou? 당신은 무엇을 할 수 있습니까?
Arrays também usam a implementação padrão e uma das opções mais simples que temos para mostrar o seu conteúdo é com o método
Arrays.toString()
, veja:import java.util.Arrays;
public class Main {
public static void main(String... args) {
int[] numbers = { 1, 2, 3 };
System.out.println(Arrays.toString(numbers)); // [1, 2, 3]
}
}
Se for uma array de arrays,
toString()
não é o bastante. Precisamos do deepToString()
:import java.util.Arrays;
public class Main {
public static void main(String... args) {
int[][] numbers = {
{ 1, 2, 3 },
{ 4, 5, 6 },
{ 7, 8, 9 }
};
System.out.println(Arrays.deepToString(numbers)); // [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
}
}
Agora estamos prontos para deixarmos os nossos objetos mais apresentáveis!
Reference
이 문제에 관하여(Java를 사용하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/wldomiciano/o-metodo-tostring-do-java-ld0텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)