Object

image.png

tostring

image.png

  1. package com.key.d13_packeg_04.API.Object;
  2. public class Students{ //默认继承 extends Object
  3. private String name;
  4. private char sex;
  5. private int age;
  6. public Students() {
  7. }
  8. public Students(String name, char sex, int age) {
  9. this.name = name;
  10. this.sex = sex;
  11. this.age = age;
  12. }
  13. public String getName() {
  14. return name;
  15. }
  16. public void setName(String name) {
  17. this.name = name;
  18. }
  19. public char getSex() {
  20. return sex;
  21. }
  22. public void setSex(char sex) {
  23. this.sex = sex;
  24. }
  25. public int getAge() {
  26. return age;
  27. }
  28. public void setAge(int age) {
  29. this.age = age;
  30. }
  31. /**
  32. * 重写tostring方法,以便返回内容信息
  33. * @return
  34. */
  35. @Override
  36. public String toString() {
  37. return "姓名:" + this.name;
  38. }
  39. }
  1. package com.key.d13_packeg_04.API.Object;
  2. public class test1 {
  3. public static void main(String[] args) {
  4. /**
  5. * 掌握Object类中tostring方法的使用
  6. */
  7. Students stu = new Students("张三",'男',20);
  8. String s = stu.toString();
  9. System.out.println(s);
  10. //也可以直接打印stu,和调用tostring返回一致
  11. System.out.println(stu);
  12. }
  13. }

image.png

equals

image.png

  1. package com.key.d13_packeg_04.API.Object;
  2. public class Students{ //默认继承 extends Object
  3. private String name;
  4. private char sex;
  5. private int age;
  6. public Students() {
  7. }
  8. public Students(String name, char sex, int age) {
  9. this.name = name;
  10. this.sex = sex;
  11. this.age = age;
  12. }
  13. public String getName() {
  14. return name;
  15. }
  16. public void setName(String name) {
  17. this.name = name;
  18. }
  19. public char getSex() {
  20. return sex;
  21. }
  22. public void setSex(char sex) {
  23. this.sex = sex;
  24. }
  25. public int getAge() {
  26. return age;
  27. }
  28. public void setAge(int age) {
  29. this.age = age;
  30. }
  31. /**
  32. * 自己重写equals,自己定制相等规则
  33. * 两个对象内容一样,就认定是相等的
  34. * 被比较者 ==> obj
  35. * 比较者 ==> this,调用equals的对象,s1
  36. */
  37. @Override
  38. public boolean equals(Object obj) {
  39. // 1、判断对象obj是不是指定类型
  40. if (obj instanceof Students) { //判断Obj是不是属于学生类,要用instanof
  41. /*
  42. if (this.name.equals(((Students) obj).name) && this.age == ((Students) obj).age && this.sex == ((Students) obj).sex) {
  43. return true;
  44. }
  45. else {
  46. return false;
  47. }
  48. */
  49. //可以把上面的if判断语句简化成一句代码
  50. return this.name.equals(((Students) obj).name) && this.age == ((Students) obj).age && this.sex == ((Students) obj).sex;
  51. }else {
  52. return false;
  53. }
  54. }
  55. }
  1. package com.key.d13_packeg_04.API.Object;
  2. public class test2 {
  3. public static void main(String[] args) {
  4. Students s1 = new Students("张三",'男',20);
  5. Students s2 = new Students("张三",'男',20);
  6. //比较两个对象的地址是否相同
  7. System.out.println(s1.equals(s2));
  8. //equals和==效果相同
  9. System.out.println(s1 == s2);
  10. }
  11. }

其实类中重写的equals方法也可以用IDEA自动生成的
image.png

Objects

Objects与Object是继承关系,Objects是从JDK1.7之后才有的,Objects的equals方法比交结果一致,但是更安全
image.png

StringBuilder

image.png

  1. package com.key.d13_packeg_04.API.StringBuilder;
  2. /**
  3. * 学习StringBuilder如何操作字符串
  4. */
  5. public class demo1 {
  6. public static void main(String[] args) {
  7. StringBuilder str1 = new StringBuilder();
  8. str1.append("aaa"); //拼接字符串——append()
  9. str1.append(1);
  10. str1.append(false);
  11. str1.append(3.3);
  12. System.out.println(str1);
  13. /**
  14. * 另一种拼接方式——链式编程
  15. */
  16. StringBuilder str2 = new StringBuilder();
  17. str2.append("a").append("b").append("c");
  18. System.out.println(str2);
  19. //反转字符串:reverse()
  20. System.out.println(str2.reverse().append(123));
  21. //取字符串长度
  22. System.out.println(str2.length());
  23. /**
  24. * StringBuilder只是拼接字符串的手段
  25. * 最终结果还是要恢复成String类型
  26. */
  27. StringBuilder str3 = new StringBuilder();
  28. str3.append(123).append("abc").append("[]");
  29. //check(str3); 这要会报错,因为str3为Stringbuilder对象,需要恢复成String类型
  30. //恢复成String
  31. String str4 = str3.toString();
  32. check(str4);
  33. }
  34. public static void check(String str){
  35. System.out.println(str);
  36. }
  37. }

另一个实例,将数组转化为[1,2,3,4]的形式输出

  1. package com.key.d13_packeg_04.API.StringBuilder;
  2. import java.lang.reflect.Array;
  3. public class shili_demo {
  4. public static void main(String[] args) {
  5. int number[] = {1,2,3,4};
  6. System.out.println(ToString(number));
  7. }
  8. public static String ToString(int[] number){
  9. // 开始将数组拼接为字符串
  10. StringBuilder str = new StringBuilder("[");
  11. // 将数组添加到字符串中
  12. for (int i = 0; i < number.length; i++) {
  13. str.append(number[i]).append(i == number.length-1 ? ']' : ',');
  14. }
  15. String str1 = str.toString();
  16. return str1;
  17. }
  18. }

image.png

Math

image.png

System

image.png

BigDecimal

image.png
image.png