一、类型转换

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. Spring中publish如何将多个Event和多个Listener进行无误差匹配

    从命令模式的维度理解Spring 之Application Event - 池塘里洗澡的鸭子 - 博客园 (cnblogs.com)中通自定义简单的Event和Listener阐述了Spring中pu ...

  2. Spring Boot部署之 web项目war包运行

    传统的部署方式:将项目打成war包,放入tomcat 的webapps目录下面,启动tomcat,即可访问. 具体打war包流程: 1.pom.xml配置文件修改: 2.改造启动类,如果是war包发布 ...

  3. 「BUAA OO Pre」 Pre 2总结回顾概览

    「BUAA OO Pre」 Pre 2总结回顾概览 目录 「BUAA OO Pre」 Pre 2总结回顾概览 Part 0 前言 写作背景 定位 您可以在这里期望获得 您在这里无法期望获得 对读者前置 ...

  4. PhpStudy集成环境安装教程

    地址:https://www.xp.cn/ 下载软件,直接安装即可.注意路径不能带有空格.安装完成,启动后如下图: 1.数据库的小白操作:先启动服务器Apache和数据库MySQL,如箭头所示 2.可 ...

  5. vmware 16 pro 安装macos

    VMware 16 安装 MAC OS 10.13 原版(详细图文教程)关于虚拟机安装苹果系统的教程网络上有很多, 有些适合自己, 有些则不适合(教程中的版本老旧或工具资源消失), 在安装成功后选择用 ...

  6. 用Stegsolve工具解图片隐写的问题

  7. 金融数据分析还能这样做?快试试这个BI工具小白也能学会!

    说起银行.保险.股票投资等这些金融行业,大多数人都认为它们都是依靠数据驱动的企业,毕竟大数据的诞生本来就是为了金融信息流通而服务的,但是事实真的是这样吗? 事实并非如此,真正在金融行业做数据分析的人, ...

  8. 过分简单,Tabluea仪表板与Smartbi自助仪表盘制作流程分享

    上一章节介绍了如何接入数据到系统里面,并且对数据进行处理.那本章节与大家分享Smartbi及Tabluea是如何对数据进行仪表盘制作. ​   这就是Tabluea的工作簿界面,这也是Tabluea可 ...

  9. oracle plsql手动修改数据

    转至:https://blog.csdn.net/Ranchonono/article/details/87690830?spm=1001.2101.3001.6650.1&utm_mediu ...

  10. 修饰符-final

    Java是由C/C++泛生的,其也保留了C/C++的部分特性,如关键字.在C/C++中,关键字有着特殊的含义. final修饰符 在编程中,一般会存在一些变量或方法,程序员不让其数据"发生改 ...