1、方法签名

  指的是方法名和参数类型

2、java类初始化数据的方法

  • 构造函数
  • 声明变量时赋值
  • 静态块

3、List转数组

  List<String> list = new ArrayList<>();

  list.add("aa");

  list.add("bb");

  String[] array = new String[list.size()];

  array = list.toArray(array);

4、数组转List

  • ArrayList<Element> arrayList = new ArrayList<Element>(Arrays.asList(array));
  • List<Element> list = Arrays.asList(array);

   这不是最好的,因为asList()返回的列表的大小是固定的。事实上,返回的列表不是 java.util.ArrayList,而是定义在java.util.Arrays中一个私有静态类。我们知道ArrayList的实现本质上是一个数组,而asList()返回的列表是由原始数组支持的固定大小的列表。这种情况下,如果添加或删除列表中的元素,程序会抛出异常UnsupportedOperationException。

  • Element[] array = {new Element(1), new Element(2)};

   List<element> list = new ArrayList<element>(array.length);

   Collections.addAll(list, array);

5、java安全删除list中的元素 

for (Iterator<AccountParam> iterator = accountParams.iterator(); iterator.hasNext();)
{
boolean validateResult = this.beforInsertRecordValidate(iterator.next()); if (!validateResult)
{
iterator.remove();
}
} Iterator iterator = accountParams.iterator();
while (iterator.hasNext())
{
boolean validateResult = this.beforInsertRecordValidate(iterator.next());
}

6、在静态方法中new 一个内部类对象和new 一个外部类对象的区别

  • 内部类从属于一个对象,外部类是个独立的类。
  • main 是一个静态方法,不是类的成员
  • 只能在类对象之中,调用内部类

因此,只能在类的成员方法中定义内部类(常用),或者用:{类的对象}.new {内部类}(),来定义内部内。

7、关于static{}

  在程序的一次执行过程中,static{}语句块中的内容只被执行一次,因为在虚拟机的生命周期中一个类只被加载一次;又因为static{}是伴随类加载执行的,所以,不管你new多少次对象实           例,static{}都只执行一次。

  static{}语句块的执行次序
  • 当一个类中有多个static{}的时候,按照static{}的定义顺序,从前往后执行;
  • 先执行完static{}语句块的内容,才会执行调用语句;
  • 如果静态变量在定义的时候就赋给了初值(如 static int X=100),那么赋值操作也是在类加载的时候完成的,并且当一个类中既有static{}又有static变量的时候,同样遵循“先定义先执行”的原则;

8、类加载的含义

  • 在虚拟机的生命周期中一个类只被加载一次。
  • 类加载的原则:延迟加载,能少加载就少加载,因为虚拟机的空间是有限的。
  • 类加载的时机:

    第一次创建对象要加载类.

    调用静态方法时要加载类,访问静态属性时会加载类。
    加载子类时必定会先加载父类。
    创建对象引用不加载类.
    子类调用父类的静态方法时
      当子类没有覆盖父类的静态方法时,只加载父类,不加载子类
      当子类有覆盖父类的静态方法时,既加载父类,又加载子类
    访问静态常量,如果编译器可以计算出常量的值,则不会加载类,例如:public static final int a =123;否则会加载类,例如:public static final int a = math.PI。
9、java list对象排序
  • 对象实现Comparable<>接口
1 @Override
2 public int compareTo(User o) {
3   int i = this.getAge() - o.getAge();//先按照年龄排序
4   if(i == 0){
5     return this.score - o.getScore();//如果年龄相等了再用分数进行排序
6   }
7   return i;
}
  • 对象不实现Comparable接口
 Collections.sort(students, new Comparator<Students>() {
  @Override
  public int compare(Students o1, Students o2) {
    int i = o1.getScore() - o2.getScore();
    if(i == 0){
      return o1.getAge() - o2.getAge();
    }
    return i;
  }
}

java的一些最最最最基本的东西,纯粹是为了保存的更多相关文章

  1. php爬虫最最最最简单教程

    php爬虫最最最最简单教程 一.总结 一句话总结:用的爬虫框架,却是用的自己的例子(因为网站结构的变化,作者的例子不一定好用) 爬虫框架 自己例子 1.发现自己的运行效果和作者的不一样怎么办? 耐下性 ...

  2. vue.js最最最最简单实例

    vue.js最最最最简单实例 一.总结 一句话总结: 1.vue.js实现实现数据的双向绑定用的是什么标记? 双大括号:比如{{message}} 2.vue数据循环输出的标记是什么? 用的是标签的v ...

  3. vue双向数据绑定最最最最最简单直观的例子

    vue双向数据绑定最最最最最简单直观的例子 一.总结 一句话总结:双向绑定既不仅model可以影响view的数据,view也可以影响model的数据 view model 数据 1.vue双向数据绑定 ...

  4. ThinkPHP5.0最最最最最简单实例

    ThinkPHP5.0最最最最最简单实例 一.效果图 二.操作步骤 1.用mysql数据库建立数据库 2.按照ThinkPHP官网的指示装好ThinkPHP5.0 tp5里面的目录结构如下: 3.配置 ...

  5. thinkphp5最最最最简单的ajax实例

    thinkphp5最最最最简单的ajax实例 一.总结 一句话总结:页面端使用$.get()方法传递ajax请求,服务器端判断是不是ajax请求,是的话接受参数,进行逻辑处理之后向客户端返回值. 1. ...

  6. echarts怎么使用(最最最最简单版)(本质canvas)

    echarts怎么使用(最最最最简单版)(本质canvas) 一.总结 一句话总结:外部扩展插件肯定要写js啊,不然数据怎么进去,不然宽高怎么设置.本质都是canvas嵌套在页面上,比如div中. 1 ...

  7. 其它课程中的python---4、Matplotlib最最最最简单使用

    其它课程中的python---4.Matplotlib最最最最简单使用 一.总结 一句话总结: 慢慢来吧,不着急,心态平和和沉稳:每次和世界交互,你就能感受到无比的自信 1.如何区别python2和p ...

  8. python从入门到大神---4、python3文件操作最最最最简单实例

    python从入门到大神---4.python3文件操作最最最最简单实例 一.总结 一句话总结: python文件操作真的很简单,直接在代码中调用文件操作的函数比如open().read(),无需引包 ...

  9. java压缩 GZIP进行简单压缩,ZIP进行多文件保存

    java压缩  GZIP进行简单压缩,ZIP进行多文件保存 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGlhbmdydWkxOTg4/font/5a6 ...

随机推荐

  1. bzoj 4827 [Hnoi2017]礼物——FFT

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4827 式子就是 \sum_{i=0}^{n-1}(a[ i ] - b[ i+k ] + c ...

  2. inotify 同步脚本

    #!/bin/bash path1=/home/htoa/tomcat/webapps/ROOT/htoa/ ip=192.168.30.13 /usr/bin/inotifywait -mrq -- ...

  3. wpf中为DataGrid添加checkbox支持多选全选

    项目中用到DataGrid, 需要在第一列添加checkbox, 可以多选.全选. 其中涉及的概念DataTemplate, DataGridCellStyle, DataGridCellContro ...

  4. 机器学习:评价分类结果(ROC 曲线)

    一.基础理解 1)定义 ROC(Receiver Operation Characteristic Curve) 定义:描述 TPR 和 FPR 之间的关系: 功能:应用于比较两个模型的优劣: 模型不 ...

  5. Python使用类

    #coding:utf8 from selenium import webdriverfrom time import sleep class urlpage(object): #创建浏览器对象 de ...

  6. Java-API:java.util百科

    ylbtech-Java-API:java.util百科 包含集合框架.遗留的 collection 类.事件模型.日期和时间设施.国际化和各种实用工具类(字符串标记生成器.随机数生成器和位数组.日期 ...

  7. c# 几种singleton 实现

    http://csharpindepth.com/Articles/General/Singleton.aspx#introduction 4th在线看 https://www.manning.com ...

  8. js防止重复点击

    表单元素 disabled 没有之一. el.prop('disabled', true); ajax({}).done(function() { el.prop('disabled', false) ...

  9. CSS2实用知识点详解

    CSS相关知识回顾目录 CSS2选择器 假选择器的使用 属性选择器的使用 边框设置 背景设置 字体设置 文本属性 a标签假选择器使用 列表设置 表格设置 鼠标设置 单位设置 隐藏显示 位置设置 清除浮 ...

  10. FFMPEG: avformat_find_stream_info()函数

    av_find_stream_info()中是要不断的读取数据包,解码获得相应的信息 其中: st->codec->codec_type:0:视频,1:音频,2:数据 st->cod ...