如何理解:List<String> list=new ArrayList<String>();为甚麼要声明为List 而不是ArrayList<String>? 在java中 使用面向接口编程 也就是面向抽象编程 这样程序 可扩展性更好 降低耦合 ArrayList LinkedList 都是List 的子类 就像 Set 也是Collection 的子接口 它的实现 有 hashSet linkedHashSet TreeSet 等 工作中很多时候,我们需要把很多种类…
 包装类 把八大基本数据类型封装到一个类中,并提供属性和方法,更方便的操作基本数据类型. 包装类的出现并不是用于取代基本数据类型,也取代不了. 包装类位于java.lang包中. Number 类 Number数值类型是byte.double.float.int.long 和 short类的抽象父类,提供把包装类转化成基本数据类型的方法(xxxValue). Interger 是int基本数据类型的包装类,在Integer内部封装了一个final int value的属性. package cn…
Java将一个字符串的首位改为大写后边改为小写的实现,String 思路: 获取首字母, charAt(0) substring(0,1) 转成大写 toUpperCase() 转大写hellO====>Hello获取剩余字符串, substring(1) toLowerCase() 转小写 代码如下: public class StringDemo{ public static void main(String[] args) { String str="helloworD";…
首先,不得不承认,这确实是类库设计的一个错误,所以"为什么"进行了这个错误设计并没有意义.但没有事物一诞生就是完美的,我们的Java只是反应的慢了一点,再慢了一点. 更何况,Date类等日期/时间API又不是只有这一个问题. Java8之前,日期/时间API的问题 在Java8之前,日期和时间相关的类存在诸多问题: Java的日期/时间类的定义并不一致,在java.util和java.sql的包中都有日期类,此外用于格式化和解析的类在java.text包中定义. java.util.D…
对文件和文件夹都有效  FileSetAttr('D:\Administrator\Desktop\patcher\Win32\Release\config\element\update',faHidden); 声明:function FileSetAttr ( const FileName : string; Attributes : Integer ) : Integer; 描述:FileSetAttr函数设置指定文件FileName的属性. Attributes整数必须设为下列独立位的0个…
The method replace(int, Fragment, String) in the type FragmentTransaction is not applicable for the arguments (int, SettingFragment, String) 引发错误的原因是因为import包的时候Fragment是引用的V4的,而activity继承Activity.而getFragmentManager()是activity中的方法但是getSupportFragmen…
List,Set,Map在java.util包下都是接口 List有两个实现类:ArrayList和LinkedListSet有两个实现类:HashSet和LinkedHashSetAbstractSet实现了Set A:LinkedList实现了List接口: B: AbstractSet实现了Set接口: C: HashSet继承自AbstractSet基类: D: WeakMap继承自 AbstractMap…
Error:(12, 64) java: 未报告的异常错误java.io.IOException; 必须对其进行捕获或声明以便抛出 package com.test; import org.apache.ibatis.io.Resources;import org.apache.ibatis.session.SqlSessionFactory;import org.apache.ibatis.session.SqlSessionFactoryBuilder; import java.io.Inp…
Thead类中start()方法和run()方法的区别 1,start()用来启动一个线程,当调用start()方法时,系统才会开启一个线程,通过Thead类中start()方法来启动的线程处于就绪状态(可运行状态),此时并没有运行,一旦得到CPU时间片,就自动开始执行run()方法.此时不需要等待run()方法执行完也可以继续执行下面的代码,所以也由此看出run()方法并没有实现多线程. 2,run()方法是在本线程里的,只是线程里的一个函数,而不是多线程的.如果直接调用run(),其实就相当…
Java 面向对象 异常处理:RunTimeexception,try-catch,异常声明throws,自定义异常,throw和throws的区别,多异常处理(9)…
例如:代码List list = new ArrayList(); 下面通过list来操作集合.假如代码编写后却发现集合使用的不准确,应该使用LinkedList,那么只要修改一行代码List list = new LinkedList();就可以. 这行以后的代码不需要修改,因为List接口保证了调用的都是接口中的方法,而ArrayList与LinkedList都实现了List接口. 而如果当时用ArrayList list = new ArrayList()这种形式的话,那么list访问到的…
将链表变成字符串并在元素之间插入分隔符,这种动作最常见于组合sql文“select a,b,c from tb”这种场景scenario,其中a,b,c你是存贮在链表中的, 如果要加逗号要么在循环中识别是否最后一个,要么拼装好后删掉最后一个多余的逗号,无论哪种方法都让代码显得不是那么靓仔. JavaScript为此提供了一种jion方法,JDK8里java也采用了这个很方便的函数,示例如下: List<String> ls=new ArrayList<String>(); ls.a…
一.Math类 Math类常用的方法: public static long abs (double a) 返回a的绝对值 public static double max (double a,double b) 返回a.b的最大值 public static double min (double a,double b) 返回a.b的最小值 public static double pow (double a,double b) 返回a的b次幂 public static double sqrt…
Digest:今天Spring Boot 应用启动成功,访问接口出现如下错误,不知到导致问题关键所在,记录一下这个问题. 浏览器报500错误 项目代码如下 Controller.java package com.lints.controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; im…
/** * 数据类型转换工具类 * @author cyf * */ public class NumConvertUtil{ /** * bytes 转16进制字符串 * @param bArray * @return */ public static final String bytesToHexString(byte[] bArray) { StringBuffer sb = new StringBuffer(bArray.length); String sTemp; for (int i…
split 方法:将一个字符串分割为子字符串,然后将结果作为字符串数组返回. stringObj.split([separator],[limit])参数:stringObj   必选项.要被分解的 String 对象或文字.该对象不会被 split 方法修改.separator 可选项.字符串或 正则表达式 对象,它标识了分隔字符串时使用的是一个还是多个字符.如果忽 略该选项,返回包含整个字符串的单一元素数组. limit可选项.该值用来限制返回数组中的元素个数. 说明:split 方法的结果…
在Android项目中引用高德地图,程序运行时出现上述问题,如果引用了Map3D的jar包,则需要在引入Jar文件的同时引入so文件,在高德地图的demo中,找到so文件: 然后将其复制到jniLibs中 而jar文件则可以直接添加进Libs文件夹中即可. 更多信息可以参考以下文章: 1. http://www.androidchina.net/3380.html Android Studio工程放在jniLibs/ABI目录中(当然也可以通过在build.gradle文件中的设置jniLibs…
为什么出现集合类? 面向对象语言对事物的体现都是以对象的形式,所以为了方便对多个对象的操作,就对对象进行存储,集合就是存储对象最常用的一种方式. 数组和集合类同是容器,有何不同? 数组虽然也可以存储对象,但长度是固定的,集合长度是可变的,数组中可以存储基本数据类型,集合只能存储对象 集合类的特点 集合只用于存储对象,集合长度是可变的,集合可以存储不同类型的对象. collection 中有两个常见的接口,如一个是 List 另一个是Set List中有ArrayList,LinkedList,V…
今天用Unity5.5.1开发提取Assets目录的模块,使用时采用System.IO.Path.Combine(string, string, string, string)函数进行路径生成 明明是公有函数,为何会报错,奇了怪了 有谁知道什么原因?欢迎交流 ....... ... 重新打开了一下 ,可以了.版本原因…
add()方法是在下一个将要取得的元素之前插入新的元素.因此如果在下一个将要取得的元素的序号为0,则在序号0的元素前插入新的元素. 测试: 见第1.行,在序号为0的元素前添加一个元素. 见第2.行:这次是在序号为1的元素前添加一个元素,说明ListIterator是自动向前遍历的. 注意!! 此时的index实际上是0,因为新元素是在序号为1的元素前添加的. 根据加以上两个测试结果,看出nextIndex取的是下个index(序号),next取的是下个index(序号)中的元素. 十万个Atte…
https://cloud.tencent.com/document/api/213/15753 浮动 IP 地址 https://cloud.google.com/solutions/best-practices-floating-ip-addresses?hl=zh-cn 本解决方案介绍使用浮动 IP 地址将应用从本地网络环境迁移到 Google Compute Engine 的替代方案.浮动 IP 地址也称为“共享”或“虚拟”IP 地址,常常用于使本地网络环境具备高可用性.使用浮动 IP,…
一.任务和线程 <thinking in java>中专门有一小节中对线程和任务两个概念进行了具体的区分,这也恰好说明任务和线程是有区别的. 正如前文所提到的,任务只是一段代码,一段要达成你目的的代码,这段代码写在哪,怎么写其实无所谓,只是因为你希望java的多线程机制能够识别并调用你编写的任务,所以规定了Runnable接口,让你的任务来实现该接口,把你想做的工作在实现该接口的run方法中实现. 那么,已经定义了任务类,那任务和线程有什么关系呢? java的线程是用来驱动任务执行的,也就是说…
Java 多线程详解(一)------概念的引入:http://www.cnblogs.com/ysocean/p/6882988.html Java 多线程详解(二)------如何创建进程和线程:http://www.cnblogs.com/ysocean/p/6883491.html Java 多线程详解(三)------线程的同步:http://www.cnblogs.com/ysocean/p/6883729.html Java 多线程详解(四)------生产者和消费者:http:/…
1  Java 基本数据类型 变量就是申请内存来存储值.也就是说,当创建变量的时候,需要在内存中申请空间. 内存管理系统根据变量的类型为变量分配存储空间,分配的空间只能用来储存该类型数据. 因此,通过定义不同类型的变量,可以在内存中储存整数.小数或者字符. Java 的两大数据类型: 内置数据类型 引用数据类型 1.1  内置数据类型 Java语言提供了八种基本类型.六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型. 1.1.1  byte: byte 数据类型是8位.有符号…
前言 大年初二,大家新年快乐,我又开始码字了.写这篇文章,源于在家和基友交流的时候,基友问到了,我猛然发现还真是这么回事,多线程启动调用的都是start,那么为什么没人掉用run呢?于是打开我的idea,翻一波代码,带大家一探究竟. 继承thread类实现多线程 我们知道java有三种方式实现多线程,这里直接用继承的方式进行试验,其他方式同理.我们要做的是首先声明一个线程.然后去调用,最终根据结果归纳run和start的区别. 定义一个线程类. class MyThread extends Th…
通过以下方式设置下背景就可以了: import java.awt.Container; import javax.swing.ImageIcon; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; public class Test extends JFrame { public Test() { setBak(); //调用背景方法 Container c = getContentP…
Tips <Effective Java, Third Edition>一书英文版已经出版,这本书的第二版想必很多人都读过,号称Java四大名著之一,不过第二版2009年出版,到现在已经将近8年的时间,但随着Java 6,7,8,甚至9的发布,Java语言发生了深刻的变化. 在这里第一时间翻译成中文版.供大家学习分享之用. 16. 在公共类中使用访问方法而不是公共属性 有时候,你可能会试图写一些退化的类(degenerate classes),除了集中实例属性之外别无用处: // Degene…
下面列出了Array和ArrayList的不同点:Array可以包含基本类型和对象类型,ArrayList只能包含对象类型.Array大小是固定的,ArrayList的大小是动态变化的.ArrayList提供了更多的方法和特性,比如:addAll(),removeAll(),iterator()等等.对于基本类型数据,集合使用自动装箱来减少编码工作量.但是,当处理固定大小的基本数据类型的时候,这种方式相对比较慢. ArrayList可以算是Array的加强版,(对array有所取舍的加强). 另…
最近对这两个问题比较懵逼,关于List和ArrayList.List<String> list = new ArrayList<String>(); 好了,先搞明白List 和 ArrayList吧. List是一个接口,是Collection接口的一个子接口,是一个有序的集合. ArrayList是List的一个实现类,可以实现数组大小的可变,可以很方便的进行增加和删减数组内元素的操作. List<NameValuePair> paraList = new Array…
最近对这两个问题比较懵逼,关于List和ArrayList.List<String> list = new ArrayList<String>(); 好了,先搞明白List 和 ArrayList吧. List是一个接口,是Collection接口的一个子接口,是一个有序的集合. ArrayList是List的一个实现类,可以实现数组大小的可变,可以很方便的进行增加和删减数组内元素的操作. 1 List<NameValuePair> paraList = new Arr…