Effective Java 第十五条:使可变性最小化
来源:互联网 发布:泰拉瑞亚辅助软件ios 编辑:程序博客网 时间:2024/05/01 19:37
复数类Complex:
public final class Complex { private final double re; private final double im; public Complex(double im, double re) { this.im = im; this.re = re; } public double realPart(){ return im; } public double imaginaryPart(){ return re; } public Complex add(Complex c){ return new Complex(re + c.re, im + c.im); } public Complex subtract(Complex c){ return new Complex(re - c.re, im - c.im); } public Complex motiply(Complex c){ return new Complex(re * c.re - im * c.im, re * c.re + im * c.im); } public Complex divide(Complex c){ double temp = im * c.im + re * c.re; return new Complex((re * c.re + im * c.im) / temp, (re * c.re - im * c.im) / temp); } @Override public int hashCode() { int result = 17 + hashDouble(re); result = 31 * result + hashDouble(im); return result; } private int hashDouble(double val){ long longBits = Double.doubleToLongBits(val); return (int)(longBits ^ (longBits >>> 32)); } @Override public boolean equals(Object obj) { if(obj == this) return true; if(!(obj instanceof Complex)) return false; Complex c = (Complex) obj; return Double.compare(im, c.im) == 0 && Double.compare(re , c.re) == 0; } @Override public String toString() { return "+ re + " + re +" + im + " + im; }}
测试:
public class ComplexText { public static void main(String[] args) { Complex complex = new Complex(1.0,2.0); Complex complex1 = new Complex(2.0,3.0); System.out.println(complex.add(complex1)); System.out.println(complex.divide(complex1)); System.out.println(complex.subtract(complex1)); System.out.println(complex.motiply(complex1)); }}
0 0
- Effective Java 第十五条:使可变性最小化
- 第十五条:可变性最小化
- Effective Java(使可变性最小化)
- Effective Java 第 15 条: 使可变性最小化
- 《Effective java》读书记录-第15条-使可变性最小化
- 【Effective Java】Ch4_Class:Item15_使可变性最小化
- Effective Java读书笔记-使可变性最小化
- Effective Java 读书笔记——15:使可变性最小化
- Effective Java 类和接口 15.使可变性最小化
- effective java(15) 之使可变性最小化
- 第15条:使可变性最小化
- 第15条:使可变性最小化
- 第15条:使可变性最小化
- Java学习笔记12:使可变性最小化
- 使可变性最小化。
- 第15条:使可变性最小化(创建不可改变类)
- Effective Java之使可变性最小(十五)
- (15):使可变性最小化
- Scrapy爬虫:代理IP配置
- 避免代码冗余,使用接口和泛型重构Java代码
- asp选择框只读
- MVC,MVP,MVVM到底怎么回事
- HDU 2000 ASCII码排序问题
- Effective Java 第十五条:使可变性最小化
- 《疯狂Java讲义(第3版)》.(李刚)——Java的开发准备及环境配置
- Asp.Net MVC及Web API框架配置会碰到的几个问题及解决方案
- 三层架构(我的理解及详细分析)
- 自己所写的一些项目
- 安装kali2.0 时,如何正确更换中科大源码
- AndroidSwipeLayout:最强大的 Swipe Layout
- 整理仿小米卸载动画打包成jar包直接使用(转载)
- AFNetworking配合Swift3.0请求数据