一.获取UUID

UUID uuid = UUID.randomUUID();
String str = uuid.toString();
// 去掉“-”
String s = str.replaceAll("-", "");

二.获取固定格式的时间字符串

第一种
//获取当前时间对象
Date d = new Date(); 
//创建日期格式化类对象,”yyyy/MM/dd HH:mm:ss”是我们希望的日期出现格式
SimpleDateFormat sdf = new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”);
System.out.println(sdf.format(d));

第二种、通过System类中的currentTimeMillis方法来获取当前时间。
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");   
System.out.println(df.format(System.currentTimeMillis()));   

第三种、通过Calendar类来获取当前时间   
Calendar c = Calendar.getInstance();//可以对每个时间域单独修改   对时间进行加减操作等
int year = c.get(Calendar.YEAR);  
int month = c.get(Calendar.MONTH);   
int date = c.get(Calendar.DATE);    
int hour = c.get(Calendar.HOUR_OF_DAY);   
int minute = c.get(Calendar.MINUTE);   
int second = c.get(Calendar.SECOND);    
System.out.println(year + "/" + month + "/" + date + " " +hour + ":" +minute + ":" + second);

三.获取[0, 100)之间的int整数

double d = Math.random(); // [0.0,1.0)
int i = (int)(d*100);  // [0,100)

四.把 Java util.Date 转成 sql.Date

java.util.Date utilDate = new java.util.Date(); 
java.sql.Date sqlDate = new java.sql.Date(utilDate.getTime());

五.Java中将String转化为Int

String str = "123";
try {
    int a = Integer.parseInt(str);
} catch (NumberFormatException e) {
    e.printStackTrace();
}

六.Java中将Int转String

int num=100;
	//1
	String s1=""+num;
	System.out.println(s1);
	//2
	String s2 =String.valueOf(num);
	System.out.println(s2);
    //3
    Integer i =new Integer(num);
	String s3 =i.toString();
	System.out.println(s3);
	//4
	String s4 =Integer.toString(i);
	System.out.println(s4);

七.== 和 equals的使用

1.判断相等
String s1,s2,s3 = "abc", s4 ="abc" ;
s1 = new String("abc");
s2 = new String("abc");
s1==s2   是 false      //两个变量的内存地址不一样,也就是说它们指向的对象不 一样,
s1.equals(s2) 是 true    //两个变量的所包含的内容是abc,故相等。
2.判断不等
取非表示不相同
!a.equals(b);

八.判断左边的对象是否是右边的类的实例

double obj=1;
if(obj instanceof Double){
System.out.println("true");
}

九.String中常用方法

1.获取字符串的长度(字符的个数)-------length()
String str = "adsfaxsdfas沙发上案发地方";
System.out.println(str.length());                // 18

2.获取指定索引处的字符----charAt(int index)
String str = "adsfaxsdfas沙发上案发地方";	
System.out.println(str.charAt(12));              // 发

3.获取str在字符串对象中第一次出现的索引-----String.indexOf(String str)
String str1="012345";
String str2="23";
System.out.println( str1.indexOf(str2) );        // 2

4.从start开始截取字符串 ---substring(int start)
String str = "adsfaxsdfas沙发上案发地方";
System.out.println(str.substring(1));           // dsfaxsdfas沙发上发地方

5.从start开始,到end结束截取字符串。包括start,不包括end ---- String substring(int start,int end)
String str = "adsfaxsdfas沙发上案发地方";
System.out.println(str.substring(1, 12));       // dsfaxsdfas沙

6.判断字符串对象是否以指定的字符开头,参数toffset为指定从哪个下标开始 ----startsWith(String prefix,int toffset)
或startsWith(String prefix)
String str = "adsfaxsdfas沙发上案发地方";
System.out.println(str.startsWith("f", 3)); //true
System.out.println(str.startsWith("f", 4));  // false

7.判断字符串对象是否以指定的字符结尾 ----endsWith(String str)
String str = "adsfaxsdfas沙发上案发地方";
System.out.println(str.endsWith("x")); // false
System.out.println(str.endsWith("方")); // true

8.判断指定字符串是否为空 ----isEmpty()

9.去除字符串两端空格 ----trim()
String str3 = "    a  c  e x u a n x u a n    ";
System.out.println(str3.trim());
System.out.println(str3);

10.去除字符串中指定的的字符,然后返回一个新的字符串 ----split()
public static void main(String[] args) {
		
		String str = "adsfaxsdfas沙发上发地方";
		String array[] = str.split("a");
		printString(array);
}
public static void printString(String a[]) {
		for(int i=0;i<a.length;i++) {
			System.out.print(a[i]);
		}
}  // dsfxsdfs沙发上发地方

11.截取字符串中指定位置的字符组成一个新的字符串 ----subSequence(int beginIndex,int endIndex )
String str = "adsfaxsdfas沙发上发地方";
System.out.println(str.subSequence(1, 10));   // dsfaxsdfa

12.将指定字符替换成另一个指定的字符   ----replace(char oldChar, char newChar)
String str = "adsfaxsdfas沙发上发地方";
System.out.println(str.replace('a', 's'));   // sdsfsxsdfss沙发上发地方

13.用新的内容替换全部旧内容 ----replaceAll(String regex,String replasement)
String str4 = "Hello,world!";
System.out.println(str4.replaceAll("l", "&"));   // He&&o,wor&d!

14.返回指定字符出现的最后一次的下标 ----lastIndexOf(String str)

String str4 = "Hello,world!";
System.out.println(str4.lastIndexOf("l"));  // 9

15.查看字符串中是否含有指定字符   ----contains(CharSequence s)
String str4 = "Hello,world!";
System.out.println(str4.contains("l")); // true

16. 在原有的字符串的基础上加上指定字符串  ----concat(String str)
String str5 = "dr";
System.out.println(str5.concat("eam"));  // dream

17.由基本数据型态转换成String ----String.valueOf()
(1)String.valueOf(boolean b) : 将boolean变量b转换成字符串 
(2)String.valueOf(char c) : 将char变量c转换成字符串 
(3)String.valueOf(char[] data) : 将char数组data转换成字符串 
(4)String.valueOf(char[] data, int offset, int count) : 将char数组data中由 data[offset]开始取count个元素转换成字符串 
(5)String.valueOf(double d) : 将double变量d转换成字符串 
(6)String.valueOf(float f) : 将float变量f转换成字符串 
(7)String.valueOf(int i) : 将int变量i转换成字符串 

18.str.toLowerCase()
字符串转小写
19.str.toUpperCase()
字符串转大写

20.str.getBytes()
得到一个操作系统默认的编码格式的字节数组。

十.单实例Singleton 示例

public class SimpleSingleton {
  private static SimpleSingleton singleInstance = new SimpleSingleton(); 
  //Marking default constructor private
  //to avoid direct instantiation.
  private SimpleSingleton() {
  }
  //Get instance for class SimpleSingleton
  public static SimpleSingleton getInstance() {
   
    return singleInstance;
  }
}

十一.得到当前方法的名字

String methodName = Thread.currentThread().getStackTrace()[1].getMethodName();

十二.列出文件和目录

File dir = new File("directoryName"); 
 String[] children = dir.list(); 
 if (children == null) { 
   // Either dir does not exist or is not a directory 
 } else { 
   for (int i=0; i < children.length; i++) { 
     // Get filename of file or directory 
     String filename = children[i]; 
   } 
 } 
 // It is also possible to filter the list of returned files. 
 // This example does not return any files that start with `.'. 
 FilenameFilter filter = new FilenameFilter() { 
   public boolean accept(File dir, String name) { 
     return !name.startsWith("."); 
   } 
 }; 
 children = dir.list(filter); 
 // The list of files can also be retrieved as File objects 
 File[] files = dir.listFiles(); 
 
 // This filter only returns directories 
 FileFilter fileFilter = new FileFilter() { 
   public boolean accept(File file) { 
     return file.isDirectory(); 
   } 
 }; 
 files = dir.listFiles(fileFilter);

十三.switch case使用

public class Test {
   public static void main(String args[]){
      //char grade = args[0].charAt(0);
      char grade = 'C';
 
      switch(grade)
      {
         case 'A' :
            System.out.println("优秀"); 
            break;
         case 'B' :
         case 'C' :
            System.out.println("良好");
            break;
         case 'D' :
            System.out.println("及格");
            break;
         case 'F' :
            System.out.println("你需要再努力努力");
            break;
         default :
            System.out.println("未知等级");
      }
      System.out.println("你的等级是 " + grade);
   }
}

十四.StringUtils的常用方法

1.public static boolean isEmpty(String str) 
判断某字符串是否为空,为空的标准是 str==null 或 str.length()==0 

StringUtils.isEmpty(null) = true
StringUtils.isEmpty("") = true 
StringUtils.isEmpty(" ") = false //注意在 StringUtils 中空格作非空处理
StringUtils.isEmpty("   ") = false
StringUtils.isEmpty("bob") = false
StringUtils.isEmpty(" bob ") = false

2.public static boolean isNotEmpty(String str) 
某字符串是否非空,等于 !isEmpty(String str) 
   
StringUtils.isNotEmpty(null) = false
StringUtils.isNotEmpty("") = false
StringUtils.isNotEmpty(" ") = true
StringUtils.isNotEmpty("         ") = true
StringUtils.isNotEmpty("bob") = true
StringUtils.isNotEmpty(" bob ") = true

3.public static boolean isBlank(String str) 
判断某字符串是否为空或长度为0或由空白符(whitespace) 构成
   
StringUtils.isBlank(null) = true
StringUtils.isBlank("") = true
StringUtils.isBlank(" ") = true
StringUtils.isBlank("        ") = true
StringUtils.isBlank("\t \n \f \r") = true   //对于制表符、换行符、换页符和回车符
 
StringUtils.isBlank()   //均识为空白符
StringUtils.isBlank("\b") = false   //"\b"为单词边界符
StringUtils.isBlank("bob") = false
StringUtils.isBlank(" bob ") = false

4.public static boolean isNotBlank(String str) 
判断某字符串是否不为空且长度不为0且不由空白符(whitespace) 构成,等于 !isBlank(String str) 
StringUtils.isNotBlank(null) = false
StringUtils.isNotBlank("") = false
StringUtils.isNotBlank(" ") = false
StringUtils.isNotBlank("         ") = false
StringUtils.isNotBlank("\t \n \f \r") = false
StringUtils.isNotBlank("\b") = true
StringUtils.isNotBlank("bob") = true
StringUtils.isNotBlank(" bob ") = true

十五.System.currentTimeMillis()方法
JAVA获取当前系统时间。
System.currentTimeMillis()产生一个当前的毫秒,这个毫秒其实就是自1970年1月1日0时起的毫秒数,Date()其实就是相当于Date(System.currentTimeMillis());因为Date类还有构造Date(long date),用来计算long秒与1970年1月1日之间的毫秒差。

十六.Collections中常用方法

1.Collections.singletonList()方法
方法用于返回仅包含指定对象的不可变列表。返回的列表是可序列化的。
2.Collections.emptySet() 、Collections.emptyList() 、Collections.emptyMap()
会生成指定类型的空List Set Map,而且是不可变的。
3.Collectors.toMap方法
实现List转换为Map

十七.Collectors.toList()
ToList 方法可以收集所有流中元素至List实例。需要注意的是,使用该方法不能假设任何List的特定实现,如果你想指定List实现,需要使用toCollection 代替.下面示例创建一个流实例表示元素序列,然后收集至List实例对象中。

十八.Map中常用方法

1.containsKey(Object key)方法
判断Map集合对象中是否包含指定的键名
如果 hashMap 中是否存在指定的 key 对应的映射关系返回 true,否则返回 false。
2.containsValue(Object value)方法
判断Map集合对象中是否包含指定的value值
如果 hashMap 中是否存在指定的 value 对应的映射关系返回 true,否则返回 false。

十九.HttpServletRequest常用方法

1.getHeader(String name):获得指定的请求头数据
例如 getHeader("user-agent"):获取浏览器信息
2.getRequestURL()
获取客户端发出的请求时的完整URL(http:// 到 ?)
3.getRequestURI()
获取请求行中的资源名称部分(项目名称开始)
4.getQueryString()
获取请求行中的参数部分(?后面部分)
5.getMethod()
获取客户端请求方式
6.getProtocol()
获取HTTP版本号
7.getRemoteHost()
获取发出请求的客户机的完整主机名。
8.getRemoteAddr()
获取发出请求的客户机的IP地址
9.getRemotePort()
获取客户机所使用的网络端口号
10.getLocalAddr()
获取WEB服务器的IP地址
11.getLocalName()
获取web服务器的主机名

二十.HttpServletResponse常用方法

1.response.setContentType(“text/html; charset=UTF-8”);
设置编码格式
2.response.setCharacterEncoding(“UTF-8”);
设置编码格式

二十一.java.nio.file.Files类的常用方法

Files. exists():检测文件路径是否存在。
Files. createFile():创建文件。
Files. createDirectory():创建文件夹。
Files. delete():删除一个文件或目录。
Files. copy():复制文件。
Files. move():移动文件。
Files. size():查看文件个数。
Files. read():读取文件。
Files. write():写入文件。

二十二.Java中逗号分隔的字符串和List相互转换

1.字符串转list::Arrays.asList(str.split(“,”))

java ddd java ddd代码示例_System


2.list转字符串:StringUtils.join(list.toArray(),”,”);

java ddd java ddd代码示例_后端_02


二十三.Java判断一个字符串里是否有逗号

str = 你要判断的字符串
(1)str.contains(",")返回true 则包含,
(2)str.indexOf(",")如果等于-1,则不包含。

二十四.Java截取扩展名:文件名. 后的字符串

java ddd java ddd代码示例_后端_03

@Test
    public void lastIndexof(){
        String str = "文件管理.pdf";
        System.out.println(str.substring(str.lastIndexOf(".")+1));

    }

二十五.关于java中for和foreach循环

for循环中的循环条件中的变量只求一次值!具体看最后的图片
foreach语句是java5新增,在遍历数组、集合的时候,foreach拥有不错的性能。
foreach是for语句的简化,但是foreach并不能替代for循环。可以这么说,任何foreach都能改写为for循环,但是反之则行不通。
foreach不是java中的关键字。foreach的循环对象一般是一个集合,List、ArrayList、LinkedList、Vector、数组等。
foreach的格式:
    for(元素类型T 每次循环元素的名称O : 循环对象){
        //对O进行操作
    }
1.常见使用方式。
foreach遍历数组。
/**
 * 描述:
 * Created by ascend on 2016/7/8.
 */public class Client {
    public static void main(String[] args) {
        String[] names = {"beibei", "jingjing"};
        for (String name : names) {
            System.out.println(name);
        }
    }
}

foreach遍历List。
/**
 * 描述:
 * Created by ascend on 2016/7/8.
 */public class Client {
    public static void main(String[] args) {
        List<String> list = new ArrayList();
        list.add("a");
        list.add("b");
        list.add("c");
        for(String str : list){
            System.out.println(str);
        }
    }
}
  
2.局限性。
  foreach虽然能遍历数组或者集合,但是只能用来遍历,无法在遍历的过程中对数组或者集合进行修改,而for循环可以在遍历的过程中对源数组或者集合进行修改。
  
数组
/**
 * 描述:
 * Created by ascend on 2016/7/8.
 */public class Client {
    public static void main(String[] args) {
        String[] names = {"beibei", "jingjing"};
        for (String name : names) {
            name = "huanhuan";
        }
        //foreach
        System.out.println("foreach:"+Arrays.toString(names));
        //for
        for (int i = 0; i < names.length; i++) {
            names[i] = "huanhuan";
        }
        System.out.println("for:"+Arrays.toString(names));
    }
}

输出:
foreach:[beibei, jingjing]for:[huanhuan, huanhuan]

集合
/**
 * 描述:
 * Created by ascend on 2016/7/8.
 */public class Client {
    public static void main(String[] args) {
        List<String> names = new ArrayList<String>();
        names.add("beibei");
        names.add("jingjing");
        //foreach
        for(String name:names){
            name = "huanhuan";
        }
        System.out.println(Arrays.toString(names.toArray()));
        //for
        for (int i = 0; i < names.size(); i++) {
            names.set(i,"huanhuan");
        }
        System.out.println(Arrays.toString(names.toArray()));
    }
}

输出:
[beibei, jingjing]
[huanhuan, huanhuan]

特别注意的地方!!

java ddd java ddd代码示例_System_04


二十六.String字符串与java.util.Date的相互转化

(1)将String转化为Date类型
    public static void testStringConvertToDate(){
        String stringDate = "2008-10-05";
        /*yyyy-MM-dd格式一定要与stringDate的格式一致*/
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        try {
            Date date = sdf.parse(stringDate);
        } catch (ParseException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
(2)java.util.Date类型转化为String类型
    public static void testDateConvertToString(){
        Date date = new Date();
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日");
        String stringDate = sdf.format(date);
        System.out.println("stringDate : " + stringDate);//输出结果 stringDate : 2018年01月12日
    }
(3)将给定的日期格式的字符串转化为想要的格式字符串显示,中间通过Date类型转换
    public static void stringToString(){
        String stringDate = "2008年10月01日10时50分";
        SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy年MM月dd日");
        SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd");
        Date date = null;
        String stringDate2 = null;
        try {
            date = sdf1.parse(stringDate);
            stringDate2 = sdf2.format(date);
        } catch (Exception e) {
            e.printStackTrace();
        }
        System.out.println("date:" + date);
        System.out.println("stringDate2:" + stringDate2);
    }

二十七.使用三种方法对list集合进行去除指定元素

第一种方法:使用普通for循环(在去除元素的时候需要主要,删除元素后 List 的元素数量会发生变化)
public static void remove(List<String> list, String target){
	for(int i = list.size() - 1; i >= 0; i--){
		String item = list.get(i);
		if(target.equals(item)){
			list.remove(item);
		}
	}
}
第二种方法:使用CopyOnWriteArrayList,确保线程的安全性,但是具有占用内存和数据不一致的缺陷
public static void remove(ArrayList<String> list, String target) {
    final CopyOnWriteArrayList<String> cowList = new CopyOnWriteArrayList<String>(list);
    for (String item : cowList) {
        if (item.equals(target)) {
            cowList.remove(item);
        }
    }
}
第三种方法:使用Iterator迭代器,注意要使用迭代器中remove方法,不能使用集合的remove方法
 public static void remove(List<String> list, String target){
   Iterator<String> iter = list.iterator();
   while (iter.hasNext()) {
        String item = iter.next();
        if (item.equals(target)) {
            iter.remove();
        }
    }
}

二十七.将字符串的编码格式转换为utf-8

/**
 * 将字符串的编码格式转换为utf-8
 * @param str
 * @return Name = new
 * String(Name.getBytes("ISO-8859-1"), "utf-8");
 */
public static String toUTF8(String str) {
	if (isEmpty(str)) {
		return "";
	}
	try {
		if (str.equals(new String(str.getBytes("GB2312"), "GB2312"))) {
			str = new String(str.getBytes("GB2312"), "utf-8");
			return str;
		}
	} catch (Exception exception) {
	}
	try {
		if (str.equals(new String(str.getBytes("ISO-8859-1"), "ISO-8859-1"))) {
			str = new String(str.getBytes("ISO-8859-1"), "utf-8");
			return str;
		}
	} catch (Exception exception1) {
	}
	try {
		if (str.equals(new String(str.getBytes("GBK"), "GBK"))) {
			str = new String(str.getBytes("GBK"), "utf-8");
			return str;
		}
	} catch (Exception exception3) {
	}
	return str;
}
java获取:
String name = TypeUtil.toUTF8(request.getParameter("name"));

二十八.Java比较时间

之前有面试到两个日期的大小比较方式,现在整理一下几种方法。

例子:
	String beginTime=new String("2017-06-09 10:22:22"); 
	String endTime=new String("2017-05-08 11:22:22"); 

1 直接用Date自带方法before()和after()比较
	SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
	Date sd1=df.parse(beginTime);
	Date sd2=df.parse(endTime);
	System.out.println(sd1.before(sd2));
	System.out.println(sd1.after(sd2));

2 用String的compareTo()方法:
	Integer i=beginTime.compareTo(endTime);
	System.out.println(i);
返回正值是代表左侧日期大于参数日期,反之亦然,日期格式必须一致

3 转成date格式换成秒数比较秒数大小,getTime()方法
	Date sd1=df.parse(beginTime);
	Date sd2=df.parse(endTime);
	long long1 =sd1.getTime();
	long long2= sd2.getTime();
另附日期和string的互转方法:
1 Date转String
Date d=new Date();
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String ds=df.format(d);

2 String转Date
String ds=new String("2017-06-09 10:22:22"); 
Date sd=df.parse(ds);

二十九.Java List转换为字符串并加入分隔符

public String listToString(List list, char separator) {    
    return    org.apache.commons.lang.StringUtils.join(list.toArray(),separator);    
}

三十.获取对象集合中某个属性的集合
通过Java8中stream流实现

List<String> nameList = userList.stream().map(User::getName).collect(Collectors.toList());