package com.example;
import com.google.gson.Gson;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Random;
import java.util.Vector;
import static com.example.Key.APP_CLIENT_TYPE;
import static com.example.Key.APP_SIGN_KEY;
/**
* 介绍:
* 作者:zhangxutong
* 邮箱:mcxtzhang@163.com
* 主页:http://blog.csdn.net/zxt0601
* 时间: 2016/11/11.
*/
public class Main {
public interface Generator<T> {
public T next();
}
public static class FruitGenerator implements Generator<String> {
private String[] fruits = new String[]{"Apple", "Banana", "Pear"};
@Override
public String next() {
Random rand = new Random();
return fruits[rand.nextInt(3)];
}
}
public static void main(String[] args) {
Generator<String> generator = new FruitGenerator();
System.out.println(generator.next());
System.out.println(generator.next());
System.out.println(generator.next());
System.out.println(generator.next());
System.out.println(isNummber(""));
System.out.println(~555555555);
List<String> list = new ArrayList<>();
System.out.println("list:" + list.size());
list.add(null);
list.add(null);
System.out.println("list:" + list.size());
System.out.println(list == null);
List<String> list2 = new ArrayList<>();
list2.addAll(new ArrayList<String>());
System.out.println("list2:" + list2.size());
System.out.println("list2:" + list2.size());
Vector<String> vector = new Vector<>();
System.out.println("vector:" + vector.size());
vector.add(null);
vector.add(null);
System.out.println("vector:" + vector.size());
System.out.println(vector == null);
Map<String, Object> mapParems = new HashMap<>();
mapParems.put("type", "android");
mapParems.put("password", "975421366");
mapParems.put("mp", "18616320845");
Map<String, Object> body1 = getBody(mapParems);
System.out.println(body1);
try {
String new1 = URLEncoder.encode(body1.get("data").toString(), "utf-8");
System.out.println(new1);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
System.out.println("2e32" + ((int)2e31));
System.out.println("String == equlas");
String str1 = "abc";
String str2 = "abc";
System.out.println(str1 == str2);
System.out.println(str1.equals(str2));
str2 = new String("abc");
System.out.println(str1 == str2);
System.out.println(str1.equals(str2));
String substring = str2.substring(0, 2);
System.out.println(substring);
char[] chars = substring.toCharArray();
chars[0]='m';
substring.replace('a','m');
System.out.println(substring);
System.out.println(str2);
}
public static Map<String, Object> getBody(Map<String, Object> map) {
String encodeData = toJsonFormMap(map);
Map<String, Object> tmp = new HashMap<>();
long time = System.currentTimeMillis() / 1000;
try {
encodeData = URLEncoder.encode(encodeData.toString(), "utf-8");
encodeData = encodeData.replaceAll("\\+", "%20");
encodeData = URLEncoder.encode(encodeData.toString(), "utf-8");
encodeData = encodeData.replaceAll("\\+", "%20");
String appVersion = "3.1.4";
String deviceId = "862561035025574";
String sign = MD5.getMD5((appVersion + APP_CLIENT_TYPE + encodeData +
deviceId + time + APP_SIGN_KEY).getBytes());
tmp.put("app_version", appVersion);
tmp.put("client_type", APP_CLIENT_TYPE + "");
tmp.put("data", encodeData);
tmp.put("device_id", deviceId);
tmp.put("time", time + "");
tmp.put("sign", sign);
} catch (Exception e) {
e.printStackTrace();
}
return tmp;
}
protected static final String JSON_BEAN = "jsonBean";
public static String toJsonFormMap(Map<String, Object> map) {
if (map == null) {
map = new HashMap<>();
}
if (map.size() == 1 && map.containsKey(JSON_BEAN)) {
Object o = map.get(JSON_BEAN);
return new Gson().toJson(o);
}
return new Gson().toJson(map);
}
private static int isNummber(String numberString) {
int k = 1;
try {
k = 2;
return k;
} finally {
k = 3;
return k;
}
}
}