JAVA中遗留的问题_java中遗留的小问题
一、类型转换
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修饰局部变量,使局部变量为常量来访问。
classOuter {private int num = 10;public voidmethod() {//int num2 = 20;
final int num2 = 20;classInner {public voidshow() {
System.out.println(num);//从内部类中访问本地变量num2; 需要被声明为最终类型
System.out.println(num2);//20
}
}
Inner i= newInner();
i.show();
}
}
八、TreeSet排序
1.自然排序:(元素比较)
让元素所属的类实现自然排序接口 java.lang.Comparable,必须重写compareTo方法。
2.比较器排序:(集合比较)
让集合的构造方法接收一个比较器接口的子类对象 java.util.Comparator。
内部类:
TreeSet treeSet = new TreeSet(new Comparator()(public intcompare(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;returnnum3;
}
));
九、Map遍历
A、根据键找值
//创建集合对象
Map map = new HashMap();//获取所有的键(键的集合)
Set set =map.keyset();//遍历键的集合
for(K key : set) {
V value=map.get(key);
syso(key+ "-" +value);
}
B、根据键值对对象找键和值
//创建集合对象
Map map = new HashMap();//获取所有键值对对象的集合
Set> set =map.entrySet();//遍历键值对对象的集合,得到每一个键值对对象
for(Map.Entryme : set) {
K key=me.getKey();
V value=me.getValue();
Syso(key+ "," +value);
}
十、contains()方法底层依赖的是equals()方法,所以判断对象包含另一对象,需先重写equals()方法。
十一、Arrays工具类:public static List asList(T... a):把数组转成集合
十二、new FileInputStream("")和 class.getClassLoader().getResourceAsStream("")
前者根目录为项目根目录或者绝对路径,后者根目录为src目录
JAVA中遗留的问题_java中遗留的小问题相关推荐
- java中组件与容器_java中的容器组件和非容器组件
1.java使用到的图形类主要在java.awt 与javax.swing包中. 2.java.awt 与 javax.swing包的区别: ① java.awt中使用的图形类都是依赖于系统的图形库的 ...
- java boolean几个字节_Java中boolean类型到底占用多少个字节?
1.时间:2017-07-03 07:37:06YuanMxy 2.问题描述:今天在复习java基础的时候发现一小问题,Java中boolean类型到底占用多少个字节? 3.问题解答: (1)什么是b ...
- java 基本类型的引用_Java中的基本数据类型与引用数据类型
一.基本数据类型 byte.short.int.long(整数类型) float.double(浮点数类型) char(字符型) boolean(布尔类型 ) Java数据大多数存放在堆栈中.栈区:存 ...
- java对于数组的定义_Java中方法的定义与使用,以及对数组的初步了解。
方法 方法的含义 定义: 方法就是用来完成解决某件事情或实现某个功能的办法. 方法实现的过程中,会包含很多条语句用于完成某些有意义的功能--通常是处理文本,控制输入或计算数值. 我们可以通过在程序代码 ...
- java string 后几位_java中String占几个位元组
java中String占几个位元组以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! java中String占几个位元组 J ...
- java有没有回调函数_Java中的回调函数 - wangjianme的个人空间 - OSCHINA - 中文开源技术交流社区...
Java代码的回调函数经常由框架或是系统定义,由程序开发人员填充. 它的最主要特点是即定义了调用的规范同时又非常的灵活. 回调函数有些类似于观察者模式,它们的区别在于:观察者模式返回的参数为Event ...
- java常见的报错_Java中常见的错误有哪些?
原标题:Java中常见的错误有哪些? 1.java.lang.Error 错误.是所有错误的基类,用于标识严重的程序运行问题.这些问题通常描述一些不应被应用程序捕获的反常情况. 原因: 1.对系统所访 ...
- java i 线程不安全_java中的++i是线程安全的吗?
java中的++i是线程安全的吗?为什么?怎么使它线程安全呢? 先说答案: 非线程安全 先说下为什么是非线程安全的? 从Java内存模型说起 Java内存模型规定了所有的便利都存储在主内存中,每个线程 ...
- java序列化有什么用_java中序列化的作用
一 什么叫序列化 通俗点讲:它是处理对象流的一种机制,即可以很方便的保存内存中java对象的状态,同时也为了方便传输. 二 序列化有什么作用 1.方便传输,速度快,还很安全,被调用方序列化,调用方反 ...
- java原始类型和引用类型_Java中的8种原始类型
java原始类型和引用类型 几年前,当我开始编辑Java Basics系列时,我认为将一些非常详细的信息拉到自己的帖子中是很有意义的. 这样,初学者的内容就更容易消化了. 首先,我将介绍有关Java的 ...
最新文章
- iOS 异形tabBar, 中间item凸起
- TensorRT和PyTorch模型的故事
- stl-----全排列
- 让Vs2013 完美支持EF6.1 Code First with Oracle 2015年12月24日更新
- Android-Frame布局,UI布局切换,录音,照相机,影音播放器,音频播放器
- 2万字,看完这篇才敢说自己真的懂线程池!
- 问题 C: 编写函数:字符串的复制 之一 (Append Code)
- VisualStudio quick tips -- 快速在多个打开的代码文件间切换
- 关于命令行启动MySQL服务的相关问题
- Searchmonkey 0.8.0
- Atitit Spring事务配置不起作用可能出现的问题: .是否是数据库引擎设置不对造成的【笔者就遇到了这个问题,由于笔者使用的是mysql数据,但是在创建表的时候引擎默认(mysql中引擎默认为
- Pycharm代码跳转
- Intel CPU型号解读以及如何粗略判断Intel CPU的性能(i3、i5、i7以及CPU的代数)
- 搭建Ubuntu 10.04系统(嵌入式开发)
- 什么是强化学习?(主要的强化学习概念)
- 浅谈LCD液晶屏和LED屏,它们有什么不同之处
- 出栈顺序(栈和队列)B
- java-SpringBoot-oracle配置【自用】
- 解决WEEX/phantomjs-prebuilt安装太慢 weex安装卡在phantomjs-prebuilt不动的问题
- IE浏览器toLocaleDateString()方法获取时间戳返回NaN
热门文章
- [RHCSA学习笔记]Autofs实现自动挂载NFS共享
- [HTML5]使用Box2dWeb模拟射箭效果并添加能量槽
- Windows 8 DirectX 开发学习笔记(十六)使用Terragen生成自然环境贴图
- 简单的HTML5灰度图查看器 simple PACS DICOM HTML5 viewer
- lisp语言如何画小红点_实验四、五 用AutoCADLISP语言编程绘图
- Python开源微博工具:Twitter
- 《NLTK基础教程——用NLTK和Python库构建机器学习应用》——2.8 罕见词移除
- Jsp页面用table表格来让文字和文本框对齐
- 最全的spark基础知识解答
- 2016年最好的15个Web设计和开发工具