当前位置: 首页 > wzjs >正文

淘宝联盟的网站怎么自己做一建论坛建工教育网

淘宝联盟的网站怎么自己做,一建论坛建工教育网,口碑好的秦皇岛网站建设哪家好,做桌面端还是网站Object的成员方法: Protected Object clone(int a):把A对象的属性值完全拷贝给B对象,也叫做对象拷贝,对象复制java内的克隆方式有两种: 浅克隆/浅拷贝:特点是直接拷贝,基本数据类型直接拷贝变量记录的数值,引用数据类型拷贝变量记录的地址值: 新的数组与原来数组管理同一个…

Object的成员方法:

Protected  Object  clone(int a):把A对象的属性值完全拷贝给B对象,也叫做对象拷贝,对象复制java内的克隆方式有两种:

浅克隆/浅拷贝:特点是直接拷贝,基本数据类型直接拷贝变量记录的数值,引用数据类型拷贝变量记录的地址值:

新的数组与原来数组管理同一个,当对其中一个做出改变,另一个也会相应改变

深克隆/深拷贝:特点基本数据类型直接拷贝变量记录的数值,引用数据类型拷贝变量记录的地址值,但是数组拷贝会重新创建一个新的数组,将原来数组值赋值给新数组:

 

区分深克隆与浅克隆:将克隆后改变的数组与克隆前的数组作对比,看是否改变

使用第三方工具实现克隆:

//第三方的工具
//1.第三方写的代码导入到项目中
//2.编写代码
Gson gson = new Gson();
//把对象变成一个字符串
String s = gson.toJson(u1);
//再把字符串变回对象就可以了
User user = gson.fromJson(s, User.class);
//打印对象
System.out.println(user);

Objects的成员方法:

//1.创建学生类的对象Student s1 = null;Student s2 = new Student(name:"zhangsan",age:23);
//2.比较两个对象的属性值是否相同
/*  if(s1 != null){boolean result = s1.equals(s2);System.out.println(result);else{System.out.println("调用者为空");}*/boolean result = Objects.equals(s1, s2);System.out.println(result);

细节:1.方法的底层会判断s1是否为null,如果为null,直接返回false
           2.如果s1不为null,那么就利用s1再次调用equals方法
           3.此时s1是Student类型,所以最终还是会调用student中的equals方法。如果没有重写,比较地址值,如果重写了,就比较属性值。

//public static boolean isNull(Object obj)判断对象是否为null,为null返回true,反之Student s3 = new Student();Student s4 = null;System.out.println(Objects.isNull(s3));//falseSystem.out.println(Objects.isNull(s4));//trueSystem.out.println(Objects.nonNull(s3));//trueSystem.out.println(Objects.nonNull(s4));//false

 BigInteger构造方法:

  BigInteger细节:对象一旦创建,内部记录的值不能发生改变

//1.获取一个随机的大整数
Random r = new Random();
for (inti= 0; i< 100; i++) {BigInteger bd1 = new BigInteger(4,r);System.out.println(bd1);//[0~15]
}
//2.获取一个指定的大整数
//细节:字符串中必须是整数,否则会报错
BigInteger bd2 = new BigInteger("1.1");
System.out.println(bd2);//报错
BigInteger bd3 = new BigInteger("abc");
System.out.println(bd3);//报错
//3.获取指定进制的大整数
BigInteger bd4 = new BigInteger("010100111",2);
System.out.println(bd4);
BigInteger bd5 = new BigInteger("123",2);
System.out.println(bd5);//报错

细节: 1.字符串中的数字必须是整数  2.字符串中的数字必须要跟进制吻合。比如二进制中,那么只能写e和1,写其他的就报错。

//4.静态方法获取BigInteger的对象,内部有优化
//L表示long
BigInteger bd5 = BigInteger.valueOf(9223372036854775807L);
System.out.println(bd5);BigInteger bd5 = BigInteger.valueOf(16);
BigInteger bd6 = BigInteger.valueOf(16);
System.out.println(bd5==bd6);//trueBigInteger bd7 = BigInteger.valueOf(17);
BigInteger bd8 = BigInteger.valueOf(17);
System.out.println(bd7==bd8);//false

细节:1.能表示范围比较小,在1ong的取值范围之类,如果超出1ong的范围就不行了。2.在内部对常用的数字:-16~16进行了优化。提前把-16~16先创建好BigInteger的对象,如果多次获取不会重新创建新的。

//5.对象一旦创建内部的数据不能发生改变
BigInteger bd9 = BigInteger.valueOf(1);
BigInteger bd1e = BigInteger.valueOf(2);
BigInteger result = bd9.add(bd10);
System.out.println(result);//3
//此时,不会修改参与计算的BigInteger对象中的值,而是产生了一个新的BigInteger对象记录3System.out.println(bd9==result);//false
System.out.println(bd10==result);//false

   BigInteger常见成员方法:

//1.创建两个BigInteger对象
BigInteger bd1 = BigInteger.valueOf(1O);
BigInteger bd2 = BigInteger.valueOf(5);//2.加法
BigInteger bd3 = bd1.add(bd2);
System.out.println(bd3);
//后面三个都是这样//3.除法,获取商和余数
BigInteger[] arr = bd1.divideAndRemainder(bd2);
System.out.println(arr[0]);
System.out.println(arr[1]);//4.比较是否相同
boolean result = bd1.equals(bd2);
System.out.println(result);//5.次幂
BigInteger bd4 = bd1.pow(2);
System.out.println(bd4);//6.max
BigInteger bd5 = bd1.max(bd2);
System.out.println(bd5 == bd1);//true
System.out.println(bd5 == bd2);//false//7.转为int类型整数,超出范围数据有误
/* BigInteger bd6 = BigInteger.valueOf(2147483647L);
int i = bd6.intValue();
System.out.println(i);*/
BigInteger bd6 = BigInteger.valueOf(200);
double V = bd6.doubleValue();
System.out.println(v);//200.0

扩展:  BigInteger底层储存方式:

  BigInteger存储上限:

数组的最大长度是int的最大值:2147483647
数组中每一位能表示的数字:-2147483648~2147483647

数组中最多能存储元素个数:21亿多
数组中每一位能表示的数字:42亿多

BigInteger能表示的最大数字为:42亿的21亿次方

引入BigDecima:

  BigDecima的作用:  用于小数的精确计算   用来表示很大的小数

//1.通过传递double类型的小数来创建对象
/细节:
//这种方式有可能是不精确的,所以不建议使用
BigDecimal bd1 = new BigDecimal(O.01);
BigDecimal bd2 = new BigDecimal(O.09);
System.out.println(bd1);
System.out.println(bd2);//2.通过传递字符串表示的小数来创建对象
BigDecimal bd3 = new BigDecimal("0.01");
BigDecimal bd4 = new BigDecimal("O.09");
BigDecimal bd5 = bd3.add(bd4);
System.out.println(bd3);
System.out.println(bd4);
System.out.println(bd5);//3.通过静态方法获取对象
BigDecimal bd6 = BigDecimal.valueOf(10);
System.out.println(bd6);

细节:
  1.如果要表示的数字不大,没有超出double的取值范围,建议使用静态方法
  2.如果要表示的数字比较大,超出了double的取值范围,建议使用构造方法
  3.如果我们传递的是0~10之间的整数,包含0,包含10,那么方法会返回己经创建好的对象,不会重新new

 BigDecima的使用:

//1.加法
BigDecimal bd1 = BigDecimal.valueOf(10.0);
BigDecimal bd2 = BigDecimal.valueOf(3.0);
BigDecimal bd3 = bd1.add(bd2);
System.out.println(bd3);//12.0//2.减法
BigDecimal bd4 = bd1.subtract(bd2);
System.out.println(bd4);//8.0//3.乘法
BigDecimal bd5 = bd1.multiply(bd2);
System.out.println(bd5);//20.00//4.除法
BigDecimal bd6 = bd1.divide(bd2,scale:2,RoundingMode.HALF_UP);
System.out.println(bd6);//3.33

 

http://www.dtcms.com/wzjs/611412.html

相关文章:

  • ps做网站首页怎么石家庄展为网络科技有限公司
  • 网站管理系统是什么建外贸网站 东莞
  • 批量建站怎么赚钱网页源码下载
  • 网页设计优化网站建设可以吗Wordpress可以卸载吗
  • vps网站助手建网站不花钱免费建站
  • 仿糗事百科网站源码dede二次开发分享+评论+互动设计签名 免费 名字
  • 仓库盘点网站开发销售网站设计方案
  • 安徽建站优化哪里有设计兼职网站有哪些
  • 新开传奇网站手游wordpress跳转手机站
  • 重庆网站推广营销360企业自助建站
  • 要建立网站怎么建立电子商务网站建设子项目
  • 网站开发程序员是什么学校毕业安卓市场网站建设
  • 定制网站建设公司东莞餐饮网站建设
  • 外贸网站建设培训wordpress 自定义feed
  • 销售管理软件app重庆百度seo整站优化
  • 织梦pc怎么做手机网站兴平网站建设
  • 北京教育网站建设企业网页设计公司
  • 礼品册兑换 网站建设百度热议排名软件
  • 长春网站建设设计我做的网站怎么提升排名
  • 辽宁省营商环境建设监督局网站公众出行服务网站建设
  • 360网站安全在线检测个人备案做分站的网站吗
  • 网站建设和客户面谈重庆网站推广的网站
  • 网站建设创业书贵阳企业网站建设制作
  • 济南手机网站建设网站推广积分
  • 苏州行业网站建设费用徐州seo网站推广
  • 网站尾部设计邢台企业网站建设价格
  • 墨西哥网站后缀微信营销工具有哪些
  • 建网站什么语言做网站二级页面的
  • 建筑八大员证报考网站5000元可注册劳务公司吗
  • 网站建设需要什么手续奢侈品 网站建设方案