Java中如何在控制台输出声明的对象名称,以及重写equals()方法判断对象是不是相同?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java中如何在控制台输出声明的对象名称,以及重写equals()方法判断对象是不是相同?相关的知识,希望对你有一定的参考价值。
例如,用Student类声明三个对象
Student stu1 = new Student("张三",20,"男");
Student stu2 = new Student("李四",21,"男");
Student stu3 = new Student("张三",20,"男");
在控制台输出三个声明的对象名称和具体内容,如下:
同时用equals方法判断对象的内容是否相同?
首先是控制台如何输出声明的三个对象,stu1,stu2,stu3,我不知道这三个对象是以什么方式存储的,无法通过某种方法获得
import java.util.*;
public class Test
public static void main(String[] args)
Student stu1= new Student("dongfang",21);
Student stu2= new Student("pangzi",22);
List l = new ArrayList();
l.add(stu1);
l.add(stu2);
Iterator i = l.iterator();
while(i.hasNext())
Student stu = (Student)i.next();
System.out.println(stu.getName()+stu.getAge()+stu.getSex());
Student类里应该有获得姓名,年龄,性别的方法吧?
难道是用反射得到的? 参考技术B public boolean equals(Student stu)
if(name==null||age==null||sex=null)
return false;
else(name.equals(stu.getName())&&age.equals(stu.getAge())&&sex.equals(stu.getSex()))
return true;
追问
else那句有错误,提示赋值的左边必须是变量,其实我不知道该把这个方法放到什么地方,是放到Student类中,然后在main方法中调用吗?Student声明了三个对象,您这个stu是哪个对象呢?
追答放到Student类中,在main方法中的调用是stu1.equals(stu2);
追问修改了下,这样通过编译了,我没有设置set,get方法
public boolean equals(Student stu)
if(name==null||age==0||sex==null)
return false;
else if(name.equals(stu.name)&& age==(stu.age)&&sex.equals(stu.sex))
return true;
else
return false;
谢谢了,创建的对象名的问题您有方法解决吗?Student stu1 = new Student();如何输出“stu1”?
java中如何输出字符变量的Unicode编码值
通过程序求“?”的Unicode编码值
java中可以使用char类提供的charAt()方法来获得字符的unicode的编码值,示例如下:
扩展资料:
Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。
Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。
参考资料:百度百科-java
参考技术Ajava中可以使用char类提供的charAt()方法来获得字符的unicode的编码值,示例如下:
public static String getUnicode(String source)String returnUniCode=null;
String uniCodeTemp=null;
for(int i=0;i<source.length();i++)
uniCodeTemp = "\\\\u"+Integer.toHexString((int)source.charAt(i));//使用char类的charAt()的方法
returnUniCode=returnUniCode==null?uniCodeTemp:returnUniCode+uniCodeTemp;
System.out.print(source +" 's unicode = "+returnUniCode);
return returnUniCode;//返回一个字符的unicode的编码值
参考技术B
char类型的话,直接强转为int,即为对应的unicode值。
char c = '例';int cUnicode = (int)c;
System.out.println("\\\\u"+cUnicode); 参考技术C public class Demo03CharSet
public static void main(String[] args)
String s = "字符变s";
System.out.println(getUnicode(s)); // \u5b57\u7b26\u53d8\u0073
/**
* @return
* @MethodName
* @Author lwx
* @Description 获取字符串的Unicode编码
* @Date 下午10:26 2021/8/24
* @Param
*/
public static String getUnicode(String str)
String strTemp = "";
if (str != null)
for (char c : str.toCharArray())
if (c > 255)
strTemp += "\\u" + Integer.toHexString((int)c);
else
strTemp += "\\u00" + Integer.toHexString((int)c);
// System.out.println(strTemp);
return strTemp;
参考技术D package com.teachjs.test;
public class TeachjsTest
public static void main(String[] args)
String s = "字符变量";
String ss = stringToUnicode(s);
System.out.println(ss);
public static String stringToUnicode(String s)
String str = "";
for (int i = 0; i < s.length(); i++)
int ch = (int) s.charAt(i);
if (ch > 255)
str += s.charAt(i) + ": " + "\\\\u" + Integer.toHexString(ch)
+ "\\n";
else
str += s.charAt(i) + ": " + "\\\\u00" + Integer.toHexString(ch)
+ "\\n";
return str;
结果:
字: \\u5b57
符: \\u7b26
变: \\u53d8
量: \\u91cf
以上是关于Java中如何在控制台输出声明的对象名称,以及重写equals()方法判断对象是不是相同?的主要内容,如果未能解决你的问题,请参考以下文章