一、类型转换

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. suse 12 二进制部署 Kubernetets 1.19.7 - 第09章 - 部署kubelet组件

    文章目录 1.9.部署kubelet 1.9.0.创建kubelet bootstrap kubeconfig文件 1.9.1.创建kubelet配置文件 1.9.2.配置kubelet为system ...

  2. CentOS 7.6 部署 GlusterFS 分布式存储系统

    文章目录 GlusterFS简介 环境介绍 开始GlusterFS部署 配置hosts解析 配置GlusterFS 创建文件系统 安装GlusterFS 启动GlusterFS 将节点加入到主机池 创 ...

  3. Dubbo源码剖析一之整体架构设计

    Dubbo基础二之架构及处理流程概述 - 池塘里洗澡的鸭子 - 博客园 (cnblogs.com)中进行Dubbo职能上的简单介绍,下面就其内部进行详细探究: 1.Dubbo调用关系 这个图是不是很熟 ...

  4. CobaltStrike逆向学习系列(5):Bypass BeaconEye

    这是[信安成长计划]的第 5 篇文章 关注微信公众号[信安成长计划] 0x00 目录 0x01 BeaconEye 检测原理 0x02 Bypass 1 0x03 Bypass 2 0x04 效果图 ...

  5. Typora下载及MarkDown语法详解

    写博客的重要性 作为一名程序员,写博客已经成了一项基本技能和素养.为什么要写博客?因为它能将我们学习的知识总结起来,提高我们对知识的深层次理解,还能将我们所学知识记录下来,以便于以后回忆.要想写博客, ...

  6. 【C# 练习】通过ZoomGame这个案例加强对 反射 插件 特性的认识

    游戏情景设定: 有一个游戏机,里面出现几种动物让儿童选择.选择完动物后,在输入数值让动物叫几次. 动物类型以插件的形势存在,可以外包给其他人开发,并提供了开发接口AnimalTool.SDK.dll. ...

  7. 【C#程序集】为何.NET Core控制台项目发布后是一个dll文件,而不是exe文件?

    因为 .NET Core 的控制台应用默认是生成 dll 文件,而没有对应的 exe 文件.如下图所示,是在VS中编译后生成的结果 图中看到的TestVisualizer.exe 只是一个快捷方式, ...

  8. JZ-071-把数字翻译成字符串

    把数字翻译成字符串 题目描述 给定一个数字,按照如下规则翻译成字符串:1 翻译成"a",2 翻译成"b"... 26 翻译成"z".一个数字 ...

  9. LeetCode-019-删除链表的倒数第 N 个结点

    删除链表的倒数第 N 个结点 题目描述:给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点. 进阶:你能尝试使用一趟扫描实现吗? 示例说明请见LeetCode官网. 来源:力扣(Leet ...

  10. Kubernetes上安装Metrics-Server

    操作场景 metrics-server 可实现 Kubernetes 的 Resource Metrics API(metrics.k8s.io),通过此 API 可以查询 Pod 与 Node 的部 ...