Java 接口:比较对象的大小
1 package com.bytezreo.interfacetest;
2
3 /**
4 *
5 * @Description 接口:比较对象的大小
6 * @author Bytezero·zhenglei! Email:420498246@qq.com
7 * @version
8 * @date 下午9:07:52
9 * @
10 *
11 */
12
13 public class ComparableCircleTest {
14
15 public static void main(String[] args) {
16
17 ComparableCircle c1 = new ComparableCircle(3.4);
18 ComparableCircle c2 = new ComparableCircle(3.6);
19
20 int compareValue = c1.compareTo(c2);
21 if(compareValue > 0) {
22 System.out.println("c1对象大");
23 }else if(compareValue < 0) {
24 System.out.println("c2对象大");
25 }else {
26 System.out.println("c1与c2一样大");
27 }
28
29
30
31
32 }
33 }
1 package com.bytezreo.interfacetest;
2
3
4 public class ComparableCircle extends Circle implements CompareObject {
5
6
7 public ComparableCircle(double radius) {
8 super(radius);
9 }
10 @Override
11 public int compareTo(Object o) {
12 if(this == o) {
13 return 0;
14 }
15
16 if(o instanceof ComparableCircle ) {
17 ComparableCircle c = (ComparableCircle)o;
18
19 //错误的
20 // return (int) (this.getRadius() - c.getRadius());
21
22 //正确的
23 if(this.getRadius() > c.getRadius()) {
24 return 1;
25 }else if(this.getRadius() < c.getRadius()) {
26 return -1;
27 }else {
28 return 0;
29 }
30 }else {
31 return 0;
32 //throw new RuntimeException("传入的数据类型不匹配");
33
34 }
35
36
37 }
38
39
40 }
1 package com.bytezreo.interfacetest;
2
3 public class Circle {
4
5 private double radius;
6
7 public double getRadius() {
8 return radius;
9 }
10
11 public void setRadius(double radius) {
12 this.radius = radius;
13 }
14
15 public Circle() {
16 super();
17 }
18
19 public Circle(double radius) {
20 super();
21 this.radius = radius;
22 }
23
24
25
26 }
1 package com.bytezreo.interfacetest;
2
3 public interface CompareObject {
4
5 //若返回值是 0代表相等; 若为正数,代表当前对象大; 负数代表当前对象小
6 public int compareTo(Object o);
7
8 }

Java 接口:比较对象的大小的更多相关文章
- Java中计算对象的大小
一.计算对象大小的方法 Java中如何计算对象的大小呢,找到了4种方法: 1.java.lang.instrument.Instrumentation的getObjectSize方法: 2.BTrac ...
- 查看java程序中对象占用空间大小
需要引入的jar包: <dependency> <groupId>com.carrotsearch</groupId> <artifactId>java ...
- Java中实现对象的比较:Comparable接口和Comparator接口
在实际应用中,我们往往有需要比较两个自定义对象大小的地方.而这些自定义对象的比较,就不像简单的整型数据那么简单,它们往往包含有许多的属性,我们一般都是根据这些属性对自定义对象进行比较的.所以Java中 ...
- Java:实现对象的比较 comparable接口和comparator接口
在实际应用中,我们往往有需要比较两个自定义对象大小的地方.而这些自定义对象的比较,就不像简单的整型数据那么简单,它们往往包含有许多的属性,我们一般都是根据这些属性对自定义对象进行比较的.所以Java中 ...
- Ehcache计算Java对象内存大小
在EHCache中,可以设置maxBytesLocalHeap.maxBytesLocalOffHeap.maxBytesLocalDisk值,以控制Cache占用的内存.磁盘的大小(注:这里Off ...
- java 中对象比较大小
java 中对象比较大小 java 中对象比较大小有两种方法 1:实现Comparable 接口 的 public int compareTo(T o) 方法: 2:实现Comparator 接口 的 ...
- 如何准确计算Java对象的大小
如何准确计算Java对象的大小 原创文章,转载请注明:博客园aprogramer 原文链接:如何准确计算Java对象的大小 有时,我们需要知道Java对象到底占用多少内存,有人通过连续调用两 ...
- JVM —— Java 对象占用空间大小计算
零. 为什么要知道 Java 对象占用空间大小 缓存的实现: 在设计 JVM 内缓存时(不是借助 Memcached. Redis 等), 须要知道缓存的对象是否会超过 JVM 最大堆限制, 假设会超 ...
- 如何精确地测量java对象的大小-底层instrument API
转载: 如何精确地测量java对象的大小-底层instrument API 关于java对象的大小测量,网上有很多例子,大多数是申请一个对象后开始做GC,后对比前后的大小,不过这样,虽然说这样测量对象 ...
- 计算Java对象内存大小
摘要 本文以如何计算Java对象占用内存大小为切入点,在讨论计算Java对象占用堆内存大小的方法的基础上,详细讨论了Java对象头格式并结合JDK源码对对象头中的协议字段做了介绍,涉及内存模型.锁原理 ...
随机推荐
- Nginx相关快速入门,负载均衡等
快速入门Nginx[正向反向代理,负载均衡的概念,学会Nginx的安装和常用命令,并在实际中去应用Nginx] - 知乎 1.背景介绍:当用户使用较少时,低并发的情况下,使用内部toma ...
- 探索C语言中的Shellcode从提取到执行
ShellCode是一种独立于应用程序的机器代码,通常用于实现特定任务,如执行远程命令.注入恶意软件或利用系统漏洞.在网络安全领域,研究Shellcode是理解恶意软件和提高系统安全性的关键一环.本文 ...
- [XXL-JOB] 分布式调度XXL-JOB快速上手
1.概述 1.1什么是任务调度 我们可以思考一下下面业务场景的解决方案: 某电商平台需要每天上午10点,下午3点,晚上8点发放一批优惠券 某银行系统需要在信用卡到期还款日的前三天进行短信提醒 某财务系 ...
- 递归锁和死锁(Python)
一.递归锁 # Lock :互斥锁 效率高 # RLock :递归(recursion)锁 效率相对低 在同一个线程中可以被acquire多次,如果想要释放锁,acquire多少次就要release多 ...
- Shell常用命令与脚本实例
#!/bin/sh echo "Hello shell" # ----------------------字符串---------------------# readonly ...
- tp、laravel 伪静态配置
一.Apache下的伪静态配置 <IfModule mod_rewrite.c> Options +FollowSymlinks -Multiviews RewriteEngine On ...
- CentOS7环境下MySQL的主从配置
CentOS7环境下MySQL的主从配置 一.什么叫主从复制 通过在主服务器和从服务器之间切分处理客户查询的负荷,可以得到更好的客户响应时间.通俗点说就是select查询发送到从服务器,修改数据的语句 ...
- HBase-Hbase启动异常java.lang.IllegalArgumentException: object is not an instance of declaring class
1.问题描述 HBase启动时异常如下: java.lang.IllegalArgumentException: object is not an instance of declaring clas ...
- 剑指Offer07 重建二叉树
剑指 Offer 07. 重建二叉树 前置概念: 前序:访问根节点,先序遍历左子树,先序遍历右子树: 中序:中序遍历左子树,访问根节点,中序遍历右子树: 后序:后序遍历左子树,后序遍历右子树,访问根节 ...
- Python学习之Pytorch
一.如何查看本机是否安装了Pytorch 在Python环境中查看是否安装了PyTorch可以通过几个简单的步骤来完成.这里有一些方法: 使用Python命令行: 打开你的命令行工具(比如Termin ...