Java基础回顾

本文深入探讨了Java中的重要概念,包括字符串的内部实现及其不可变性带来的好处、BigDecimal的使用技巧及注意事项、以及不同访问权限控制符的作用范围。通过本文,读者将更好地理解这些核心特性如何影响代码质量和性能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. \ 转义字符 '\\' 代表一个字符 因此下面输出长度为 2

        String s = new String("\\\\");
        System.out.println(s.length());

2.String.lastIndexOf() 字符串中某个字符或者字串最后一次出现的index

3.file.list() 列出file下的文件 得到 String[] 类型

4.String类不可变,是因为final修饰类?no:final修饰类代表类不可被继承 因为  String类里有如下声明?

private final char value[];

也不是:这个只能说明value数组的地址指向不能被改变 但是里面的数据可以改变 

具体 原因:开发String的时候没有暴露任何内部成员 同时API操作没有设计没有操作vlaue的值 而是new String()的方式返回新的字符串;

String不可变的好处:效率提升和安全性提高 字符串常量池的需求  允许String缓存hashcode

private int hash; // Default to 0

  因为不可变 所以hashcode唯一 作为一种性能优化手段

 

5. (1)商业计算使用BigDecimal。

       (2)尽量使用参数类型为String的构造函数,因为double的构造函数结果存在不可预知性。

      (3) BigDecimal都是不可变的的,在进行每一步运算时,都会产生一个新的对象,所以在做加减乘除运算时千万要保存操作后的值。

        (4)往往容易忽略JDK底层的一些实现细节,导致出现错误,需要多加注意。

 

6. java中的访问权限控制符:

   public protected default private

外部类只能用 public 和 default修饰

内部类类似与类的成员变量和成员方法 可以用任何权限修饰符修饰

default 默认 包访问 子类不能访问  

protected 子类和本类同一个包可以访问

public 任何类都可以访问

private 只有本类可以访问

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值