程序员的量化交易之路(31)--cointrader之Balance现金(18)

简介:

转载须注明出处:http://blog.csdn.net/minimicall?viewmode=contents,htt://cloudtrade.top

Balance:现金。

代码:

package org.cryptocoinpartners.schema;

/**
 * A Balance represents an amount of money in a given asset.
 *现金代表了一个账号内的钱
 *
 */
public final class Balance {

    private final Asset asset;//Asset是任何可交易的有价值的东西,记得吗
    private final String description;
    private final Amount amount;//数量

    /**
     * Constructor
     * 
     * @param asset The underlying asset
     * @param amount The amount
     */
    public Balance(Asset asset, Amount amount) {

        this.asset = asset;
        this.amount = amount;
        this.description = "";
    }

    /**
     * Additional constructor with optional description
     * 
     * @param description Optional description to distinguish same asset Balances
     */
    public Balance(Asset asset, Amount amount, String description) {

        this.asset = asset;
        this.amount = amount;
        this.description = description;
    }

    public Asset getAsset() {

        return asset;
    }

    public Amount getAmount() {

        return amount;
    }

    public String getDescription() {

        return description;
    }

    @Override
    public String toString() {

        return "Balance [asset=" + asset + ", amount=" + amount + ", description=" + description + "]";
    }

    @Override
    public int hashCode() {

        final int prime = 31;
        int result = 1;
        result = prime * result + ((amount == null) ? 0 : amount.hashCode());
        result = prime * result + ((asset == null) ? 0 : asset.hashCode());
        result = prime * result + ((description == null) ? 0 : description.hashCode());
        return result;
    }

    @Override
    public boolean equals(Object obj) {

        if (this == obj) {
            return true;
        }
        if (obj == null) {
            return false;
        }
        if (getClass() != obj.getClass()) {
            return false;
        }
        Balance other = (Balance) obj;
        if (amount == null) {
            if (other.amount != null) {
                return false;
            }
        } else if (!amount.equals(other.amount)) {
            return false;
        }
        if (asset == null) {
            if (other.asset != null) {
                return false;
            }
        } else if (!asset.equals(other.asset)) {
            return false;
        }
        if (description == null) {
            if (other.description != null) {
                return false;
            }
        } else if (!description.equals(other.description)) {
            return false;
        }
        return true;
    }

}


相关文章
|
小程序 程序员 开发工具
电商小程序05用户注册
电商小程序05用户注册
|
4月前
|
监控 安全 Java
Spring AOP实现原理
本内容主要介绍了Spring AOP的核心概念、实现机制及代理生成流程。涵盖切面(Aspect)、连接点(Join Point)、通知(Advice)、切点(Pointcut)等关键概念,解析了JDK动态代理与CGLIB代理的原理及对比,并深入探讨了通知执行链路和责任链模式的应用。同时,详细分析了AspectJ注解驱动的AOP解析过程,包括切面识别、切点表达式匹配及通知适配为Advice的机制,帮助理解Spring AOP的工作原理与实现细节。
|
机器学习/深度学习 数据采集 人工智能
深度神经网络:从基础到实践
深度神经网络:从基础到实践
230 2
|
7月前
|
JSON 前端开发 安全
WebSocket调试工具深度对比:Postman与Apipost功能实测解析
如果你在寻找既能搞定WebSocket调试,又能完美管理文档的工具,不妨试试Apipos!
159 1
|
存储 弹性计算 人工智能
阿里云服务器4核16g配置5M带宽收费标准及优惠价格参考
阿里云服务器4核16g配置5M带宽多少钱?阿里云服务器支持按量(小时)付费和按月付费及按年付费,4核16g配置按量付费收费标准最低0.8元每小时,按月收费最低收费标准为384.0元1个月,实际购买中,新老用户均可通过阿里云活动下单购买,相对来说通过活动下单购买更加便宜。
596 0
阿里云服务器4核16g配置5M带宽收费标准及优惠价格参考
|
12月前
|
编解码 Python Windows
python有没有包 可以检测 这个视频是否可以播放
python有没有包 可以检测 这个视频是否可以播放
|
存储 机器学习/深度学习 弹性计算
阿里云ECS计算型c8i服务器测评_网络PPS_云盘IOPS性能参数
阿里云ECS计算型c8i实例采用Intel Xeon Emerald Rapids或Sapphire Rapids CPU,主频2.7 GHz起,支持CIPU架构,提供强大计算、存储、网络和安全性能。适用于机器学习、数据分析等场景。实例规格从2核到192核,内存比例1:2,支持ESSD云盘,网络带宽高达100 Gbit/s,具备IPv4/IPv6,vTPM和内存加密功能。详细规格参数表包括不同实例的vCPU、内存、网络带宽、IOPS等信息,最高可达100万PPS和100万IOPS。
|
11月前
|
开发框架 Java 开发者
processing完整教程
本文提供了一个关于Processing的完整教程,包括下载、启动Processing、基本编程示例、颜色使用以及如何打印调试信息,适合初学者快速上手Processing编程。
1056 2
|
设计模式 Go
Go语言事件系统设计解析:发布-订阅模式实战
Go语言事件系统设计解析:发布-订阅模式实战
764 0
|
数据采集 算法 搜索推荐
Python基于RFM模型和K-Means聚类算法进行航空公司客户价值分析
Python基于RFM模型和K-Means聚类算法进行航空公司客户价值分析