Java 包装类和递归

本文介绍了Java中的基本类型包装类,包括它们的作用和常见的转换方法,如自动装箱和拆箱。特别地,详细讨论了Integer类的构造方法和使用,以及int与String之间的转换。此外,还探讨了递归的概念及其在编程中的应用,强调了递归在实现时需要注意的出口和效率问题。
摘要由CSDN通过智能技术生成

3.1 基本类型包装类

- 基本类型包装类的作用

   将基本数据类型封装成对象的好处在于可以在对象中定义更多的功能方法操作该数据

   常用的操作之一:用于基本数据类型与字符串之间的转换

- 基本类型对应的包装类

  | 基本数据类型  | 包装类       |
  | ------- | --------- |
  | byte    | Byte      |
  | short   | Short     |
  | int     | Integer   |
  | long    | Long      |
  | float   | Float     |
  | double  | Double    |
  | char    | Character |
  | boolean | Boolean   |

 3.2 Integer类 

 

- Integer类概述

   包装一个对象中的原始类型 int 的值

- Integer类构造方法

  | 方法名                                     | 说明                           |
  | --------------------------------------- | ---------------------------- |
  | public Integer(int   value)             | 根据 int 值创建 Integer 对象(过时)    |
  | public Integer(String s)                | 根据 String 值创建 Integer 对象(过时) |
  | public static Integer valueOf(int i)    | 返回表示指定的 int 值的 Integer   实例  |
  | public static Integer valueOf(String s) | 返回一个保存指定值的 Integer 对象 String |

 3.3 自动拆箱和自动装箱 

- 自动装箱

  ​    把基本数据类型转换为对应的包装类类型

- 自动拆箱

  ​    把包装类类型转换为对应的基本数据类型
 

3.4 int和String类型的相互转换 

- int转换为String

  - 转换方式

    - 方式一:直接在数字后加一个空字符串
    - 方式二:通过String类静态方法valueOf()

- String转换为int

  - 转换方式

    - 方式一:先将字符串数字转成Integer,再调用valueOf()方法
    - 方式二:通过Integer静态方法parseInt()进行转换
 

 4.递归 

4.1 递归 

- 递归的介绍

  - 以编程的角度来看,递归指的是方法定义中调用方法本身的现象
  - 把一个复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解
  - 递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算

- 递归的注意事项

  - 递归一定要有出口。否则内存溢出
  - 递归虽然有出口,但是递归的次数也不宜过多。否则内存溢出

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
包装类的深拷贝和浅拷贝是指在复制一个包装类对象时,对于其中的字段如何进行复制的过程。 浅拷贝是指只复制值类型字段的值,而对于引用类型字段,只复制其引用。也就是说,新创建的对象和原始对象会共享一部分内存空间,导致对其中一个对象进行修改会影响到另一个对象。 深拷贝是指除了复制值类型字段的值外,还会对引用类型字段所指向的对象进行一次完全的拷贝。也就是说,新创建的对象会有自己独立的一份内存空间,对其中一个对象进行修改不会影响到另一个对象。 实现深拷贝的方法有多种。其中一种常用的方法是利用反序列化技术,通过将对象序列化为字节流,然后再将字节流反序列化为一个全新的对象。这种方法可以解决多层套娃式的深拷贝问题,并且效果非常好。 另外一种实现深拷贝的方式是通过覆写对象的clone()方法,实现引用对象的深度遍历式拷贝。这种方式需要对clone()方法进行重写,以便对引用对象进行递归拷贝。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [【Java】深拷贝浅拷贝(Java实现)](https://blog.csdn.net/hhb442/article/details/128801265)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值