当前位置: 首页> 科技> 名企 > 添砖Java(十一)——常见类的使用Object,Math,System,BigDeciaml,包装类

添砖Java(十一)——常见类的使用Object,Math,System,BigDeciaml,包装类

时间:2025/9/8 14:03:39来源:https://blog.csdn.net/zgwnb666/article/details/139126498 浏览次数:2次

目录

object:

toString:

equals: ​编辑

Math:​编辑

System:

BigDecimal:

基本数据的包装类:​编辑


object:

我们知道,所有的类都是间接或直接继承了object类。然后object里面有几个用得很多的方法。

toString:

如果我们直接调用这个方法它默认是打印对象的地址。
看这个代码:

class student
{int age=18;String name="张三";}public class Test2 {public static void main(String[] args) {student s1=new student();System.out.println(s1.toString());}
}

打印的是路径加上十六进制的地址哈希值。这里我们一般都叫地址。
然后我们可以让编译帮我们重写方法:
在类里右键点击生成

再点击toString

我们就可以生成一个可以打印有效信息的方法,非常好用:

我们再次执行程序,就会打印我们声明的变量,非常好用:

equals:
 

参数是一个object父类,意思是所有的对象都可以比较,但默认是比的地址值。所以编译器又给我们了一个重写模板,我们直接用就行了。

非常好用,但是请想一个问题,如果我们的对象是一个null,调用了此方法肯定会报错。

所以就有了我们,objects.equals,这个方法很好的解决了空指针问题。

我们看看这个方法的源码,非常的喵~

请自行分析。
 

Math:

可见他是一个方法类,我们不需要背,直接上api查就行了。
 

System:

这也是一个方法类,直接用不用new对象,System类里边有个拷贝数组函数非常好用。

比如这个代码就将arr1的内容拷贝到了arr2中
 

public class Test2 {public static void main(String[] args) {int arr1[]={1,2,3};int arr2[]={0,0,0};System.arraycopy(arr1,0,arr2,0,3);for (int i = 0; i < arr2.length; i++) {System.out.println(arr2[i]);}}
}

BigDecimal:
 

我么要知道,直接用两个double的数组来相减,会损失一定的精确度。如:

所以这是我们就要用这个类来解决问题。

我们一般有两种方法创造方法:

public class Test2 {public static void main(String[] args) {BigDecimal b1=new BigDecimal("1");     //通过字符构造对象BigDecimal b2=BigDecimal.valueOf(1.1);//通过这个方法传入double类型数,据静态方法不用newSystem.out.println(b2.subtract(b1));   //相减的方法}
}

我们一般用这两种方法来创建对象
运行:

基本数据的包装类:

我在这只简单讲一下Integer

看看构造

为什么会说以弃用呢?其实我感觉就是闲太麻烦了,有种更简单的方法

public class Test2 {public static void main(String[] args) {Integer int1=Integer.valueOf(1); //旧写法Integer int2=10;                 //新写法}
}

你感觉谁用着简单?
内置类型的包装类也提供了很多方法,建议去API自行查看。

比如可以用它的转二进制方法:

关键字:添砖Java(十一)——常见类的使用Object,Math,System,BigDeciaml,包装类

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: