一、类型转换

short s = 1; s = s + 1;  //false,因为1是int类型,会损失精度
short s = 1; s += 1;  //true,因为+=有自带强转

二、逻辑运算符

^逻辑异或:相同为false,不同为true

例如:情侣关系:男男、男女、女男、女女

三、参数传递

基本类型:形参的改变对实参没有影响

引用类型:形参的改变直接影响实参

四、成员变量和局部变量

成员变量:在类中方法外

局部变量:在类中方法内

五、多态

同一个引用指向多个对象,表现各个不同对象的方法。

父 f = new 子1();

父 f = new 子2();

父 f = new 子3();

六、抽象类:abstract

抽象类有构造方法,但是不能实例化;

成员方法既可以是抽象的(强制要求子类实现抽象方法,被abstract修饰的抽象方法无方法体(没有大括号{})),也可以是非抽象的(子类继承用,提高代码复用性)。

作用:用于子类访问父类数据的初始化。

抽象类不能使用private/final/static关键词

七、局部内部类访问局部变量

局部内部类访问局部变量必须用final修饰局部变量,使局部变量为常量来访问。

class Outer {
private int num = 10; public void method() {
//int num2 = 20;
final int num2 = 20;
class Inner {
public void show() {
System.out.println(num);
//从内部类中访问本地变量num2; 需要被声明为最终类型
System.out.println(num2);//20
}
}
Inner i = new Inner();
i.show();
}
}

八、TreeSet排序

  1.自然排序:(元素比较)

    让元素所属的类实现自然排序接口 java.lang.Comparable,必须重写compareTo方法。

  2.比较器排序:(集合比较)

    让集合的构造方法接收一个比较器接口的子类对象 java.util.Comparator。

    内部类:

TreeSet<T> treeSet = new TreeSet<T>(new Comparator<T>()(
public int compare(T t1, T t2) {
int num = t1.getName().length() - t2.getName().length();
int num2 = num == 0 ? t1.getName().compareTo(t2.getName()) : num;
int num3 = num2 == 0 ? t1.getAge() - t2.getAge() : num2;
return num3;
}
));

九、Map遍历

  A、根据键找值

//创建集合对象
Map<K,V> map = new HashMap<K,V>();
//获取所有的键(键的集合)
Set<K> set = map.keyset();
//遍历键的集合
for(K key : set) {
V value = map.get(key);
syso(key + "-" + value);
}

  B、根据键值对对象找键和值

//创建集合对象
Map<T,V> map = new HashMap<T,V>();
//获取所有键值对对象的集合
Set<Map.Entry<K,V>> set = map.entrySet();
//遍历键值对对象的集合,得到每一个键值对对象
for(Map.Entry<K,V> me : set) {
K key = me.getKey();
V value = me.getValue();
Syso(key + "," + value);
}

十、contains()方法底层依赖的是equals()方法,所以判断对象包含另一对象,需先重写equals()方法。

十一、Arrays工具类:public static <T> List<T> asList(T... a):把数组转成集合

十二、new FileInputStream("") 和 class.getClassLoader().getResourceAsStream("")

    前者根目录为项目根目录或者绝对路径,后者根目录为src目录

java中遗留的小问题的更多相关文章

  1. 。Java中的一些小细节

    1.main方法. ------任何一个Java程序都有一个main方法,它是程序的入口. ------当执行  “ java + 类名 “  这个命令时,JVM就会去加载这个类,并且寻找这个类中的m ...

  2. C#、Java中的一些小功能点总结(持续更新......)

    前言:在项目中,有时候一些小的功能点,总是容易让人忽略,但是这些功能加在项目中往往十分的有用,因此笔者在这里总结项目中遇到的一些实用的小功能点,以备用,并持续更新...... 1.禁用DataGrid ...

  3. C#、Java中的一些小知识点总结(持续更新......)

    前言:在项目中,有时候一些小的知识,总是容易让人忽略,但是这些功能加在项目中往往十分的有用,因此笔者在这里总结项目中遇到的一些实用的小知识点,以备用,并持续更新...... 1.禁用DataGridV ...

  4. java中方法传值小知识解析

    1.java语言参数之间只有值传递,包括按值调用和按引用调用. 一个方法可以修改传递引用所对应的变量值,而不能修改传递值调用所对应的变量值. 按值调用:包括八大基本数据类型都是按值调用.传值的时候,也 ...

  5. java中的定时任务小示例

    package package_1; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Timer; ...

  6. Java中如何判断当前环境是大端字节顺序还是小端字节顺序

    Java非字节类型的基本类型,除了布尔型都是由组合在一起的几个字节组成的.这些数据类 型及其大小总结在表 2-1 中. 表:基本数据类型及其大小 数据类型 大小(以字节表示) Byte 1 Char ...

  7. java发布项目后注意小点,以及对于金额在java中的处理

    项目在发布之后,有时会进行一些小的地方的修改,特别是对于一些常量的修改,如定义的一些特殊账户,第三方的key值,当修改的时候,我之前就偷懒过,因为项目在服务器上面,访问速度也受到限制,替换整个项目很麻 ...

  8. java中 try catch finally和return联合使用时,代码执行顺序的小细节

    代码1测试 public static void main(String[] args) { aa(); } static int aa() { try { int a=4/0; } catch (E ...

  9. Java中splite的用法与小技巧

    在java.lang包中也有String.split()方法,与.net的类似,都是返回是一个字符型数组,但使用过程中还有一些小技巧.如执行:"2|33|4".split(&quo ...

随机推荐

  1. Dubbo源码剖析五之服务本地缓存

    Dubbo调用者需要通过注册中心(例如:ZK)注册信息,获取提供者.但是如果频繁从ZK获取信息肯定会存在单点故障问题,所以Dubbo提供了将提供者信息缓存在本地的方法. Dubbo在订阅注册中心的回调 ...

  2. 【FAQ】接入HMS Core应用内支付服务过程中一些常见问题总结

    HMS Core应用内支付服务(In-App Purchases,IAP)为应用提供便捷的应用内支付体验和简便的接入流程.开发者的应用集成IAP SDK后,调用IAP SDK接口,启动IAP收银台,即 ...

  3. 2021 .NET Conf China 主题分享之-轻松玩转.NET大规模版本升级

    去年.NET Conf China 技术大会上,我给大家分享了主题<轻松玩转.NET大规模版本升级>,今天把具体分享的内容整理成一篇博客,供大家研究参考学习. 一.先说一下技术挑战和业务背 ...

  4. 渗透测试工具篇之目录扫描工具dirmap

    (一)dirmap介绍 一个高级web目录扫描工具,功能将会强于DirBuster.Dirsearch.cansina.御剑 (二)dirmap安装 打开浏览器输入https://github.com ...

  5. 【C# 线程】线程池 epoll和IOCP之比较

    总结:IOCP :我的打印文件放在店里面排队,轮到我打印了,店长帮我打印一下,打印好了通知我来拿 Epoll  :我的打印文件放在店里面排队,轮到我叫我一下,我自己来打印. 直入正题:Epoll 是L ...

  6. 【windows 操作系统】异步

    转载:https://cloud.tencent.com/developer/article/1744660 二.异步与多线程 1)基本概念 1. 并发:在操作系统中,是指一个时间段中有几个程序都处于 ...

  7. Linux经典100题及参考答案

    转至:https://blog.csdn.net/yaoqiang2011/article/details/11908189 一.单选题 1. cron 后台常驻程序 (daemon) 用于: A. ...

  8. Pycharm:如果想验证一个文件中的函数

    在该文件的函数后写上两句 def test(): pass if __name__='__main__': test() 这样就可以执行该函数 如果只是在其他文件中导入了该函数,则不会执行最后两段话, ...

  9. 2020.10.20 利用POST请求模拟登录知乎

    前两天学习了Python的requests模块的相关内容,对于用GET和PSOT请求访问网页以抓取需要的内容有了初步的了解,想要再从一些复杂的网站积累些经验.最开始我采用最简单的get(url)方法想 ...

  10. 面向对象编程(C++篇2)——构造

    目录 1. 引述 2. 详述 2.1. 数据类型初始化 2.2. 类初始化 1. 引述 在C++中,学习类的第一课往往就是构造函数.根据构造函数的定义,构造函数式是用于初始化类对象的数据成员的.无论何 ...