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. 日志收集系统搭建-BELK

    前言 日志是我们分析系统运行情况.问题定位.优化分析等主要数据源头.目前,主流的业务系统都采用了分布式.微服务的形式.如果想要查看日志,就需要从不同的节点上去查看,而且对于整个业务链路也非常不清晰.因 ...

  2. Linux性能监控工具sysstat系列简介

    简介 sysstat提供了Linux性能监控的工具集,包括sar.sadf.mpstat.iostat.pidstat等,这些工具可以监控系统性能和使用情况.各工具的作用如下: iostat - 提供 ...

  3. Java基础--HashCode

    如果一个类的对象要用做hashMap的key,那么一定要注意覆盖该类的equals和hashCode方法. equals()是基类Object的方法,用于判断对象是否有相同地址及是否为同一对象 pub ...

  4. [转]socket使用TCP协议时,send、recv函数解析以及TCP连接关闭的问题

    Tcp协议本身是可靠的,并不等于应用程序用tcp发送数据就一定是可靠的.不管是否阻塞,send发送的大小,并不代表对端recv到多少的数据. 在阻塞模式下, send函数的过程是将应用程序请求发送的数 ...

  5. 深入VR之前 你应该知道VR头显透镜原理

    转自:http://www.gamelook.com.cn/2016/03/246817 要理解虚拟现实头显透镜的工作原理,首先要搞懂眼睛是如何看到事物的. 眼睛瞳孔后有晶状体,也就是眼珠子.眼睛的背 ...

  6. ABP仓储

    简介 我们都知道ABP已经实现了仓储模式,支持EF core 和dapper 进行数据库的连接和管理,可以很方便的注入仓储来操作你的数据,不需要自己单独定义一个仓储来实现,通用的仓储实现了通用的cru ...

  7. DAY17-认证系统

    COOKIE 与 SESSION 概念 cookie不属于http协议范围,由于http协议无法保持状态,但实际情况,我们却又需要“保持状态”,因此cookie就是在这样一个场景下诞生. cookie ...

  8. 超详细的Maven使用教程

    原文:  http://blog.csdn.net/u010425776/article/details/52027706 主题 Maven 什么是Maven? 如今我们构建一个项目需要用到很多第三方 ...

  9. [Python Study Notes]pd.read_csv()函数读取csv文件绘图

    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ...

  10. cf688B-Lovely Palindromes

    http://codeforces.com/problemset/problem/688/B B. Lovely Palindromes time limit per test 1 second me ...