本站于2023年9月4日。收到“大连君*****咨询有限公司”通知
说我们IIS7站长博客,有一篇博文用了他们的图片。
要求我们给他们一张图片6000元。要不然法院告我们
为避免不必要的麻烦,IIS7站长博客,全站内容图片下架、并积极应诉
博文内容全部不再显示,请需要相关资讯的站长朋友到必应搜索。谢谢!
另祝:版权碰瓷诈骗团伙,早日弃暗投明。
相关新闻:借版权之名、行诈骗之实,周某因犯诈骗罪被判处有期徒刑十一年六个月
叹!百花齐放的时代,渐行渐远!
import lombok.Builder;
import lombok.Data;
import java.io.Serializable;
/**
* @描述 :
* @作者 fangdayang
* @date 2020/9/26 12:43
*/
@Data
@Builder
public class Person implements Comparable<Person>, Serializable {
private static final long serialVersionUID = 5463826748719272438L;
/**
* 姓名
*/
private String name;
/**
* 年龄
*/
private Integer age;
/**
* 性别
*/
private String gender;
public Person() {
}
public Person(String name, Integer age, String gender) {
this.name = name;
this.age = age;
this.gender = gender;
}
@Override
public int compareTo(Person o) {
int i = this.getAge() - o.getAge();
return -i;
}
}
import net.sourceforge.pinyin4j.PinyinHelper;
import net.sourceforge.pinyin4j.format.HanyuPinyinCaseType;
import net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat;
import net.sourceforge.pinyin4j.format.HanyuPinyinToneType;
import net.sourceforge.pinyin4j.format.HanyuPinyinVCharType;
import net.sourceforge.pinyin4j.format.exception.BadHanyuPinyinOutputFormatCombination;
public class PinyinUtils {
/**
* 将汉字转换为全拼
*
* @param src
* @return String
*/
public static String getPinYin(String src) {
char[] t1 = null;
t1 = src.toCharArray();
String[] t2 = new String[t1.length];
// 设置汉字拼音输出的格式
HanyuPinyinOutputFormat t3 = new HanyuPinyinOutputFormat();
t3.setCaseType(HanyuPinyinCaseType.LOWERCASE);
t3.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
t3.setVCharType(HanyuPinyinVCharType.WITH_V);
String t4 = "";
int t0 = t1.length;
try {
for (int i = 0; i < t0; i++) {
// 判断是否为汉字字符
if (Character.toString(t1[i]).matches("[\\u4E00-\\u9FA5]+")) {
t2 = PinyinHelper.toHanyuPinyinStringArray(t1[i], t3);// 将汉字的几种全拼都存到t2数组中
t4 += t2[0];// 取出该汉字全拼的第一种读音并连接到字符串t4后
} else {
// 如果不是汉字字符,直接取出字符并连接到字符串t4后
t4 += Character.toString(t1[i]);
}
}
} catch (BadHanyuPinyinOutputFormatCombination e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return t4;
}
/**
* 提取每个汉字的首字母
*
* @param str
* @return String
*/
public static String getPinYinHeadChar(String str) {
String convert = "";
for (int j = 0; j < str.length(); j++) {
char word = str.charAt(j);
// 提取汉字的首字母
String[] pinyinArray = PinyinHelper.toHanyuPinyinStringArray(word);
if (pinyinArray != null) {
convert += pinyinArray[0].charAt(0);
} else {
convert += word;
}
}
return convert;
}
/**
* 将字符串转换成ASCII码
*
* @param cnStr
* @return String
*/
public static String getCnASCII(String cnStr) {
StringBuffer strBuf = new StringBuffer();
// 将字符串转换成字节序列
byte[] bGBK = cnStr.getBytes();
for (int i = 0; i < bGBK.length; i++) {
// 将每个字符转换成ASCII码
strBuf.append(Integer.toHexString(bGBK[i] & 0xff) + " ");
}
return strBuf.toString();
}
}
<!--加入如下:拼音的jar包-->
<dependency>
<groupId>com.belerweb</groupId>
<artifactId>pinyin4j</artifactId>
<version>2.5.1</version>
</dependency>
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.Random;
/**
* @描述 :Comparable和Comparator
* @作者 fangdayang
* @date 2020/9/26 13:04
*/
public class MainComparable {
// public static char[] chars=
// {'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'};
public static void main(String[] args) {
ArrayList<Person> list = new ArrayList<>();
for (int i = 0; i < 10; i++) {
Person p1 = new Person("小明" + i, 30 + i, new Random().nextInt(2) == 1 ? "男" : "女");
list.add(p1);
}
Random random = new Random();
System.out.println(random.nextInt(2));
Collections.sort(list);
// person对象已经实现了根据age的排序 这里增加了对gender的排序
Collections.sort(list, new Comparator<Person>() {
@Override
public int compare(Person o1, Person o2) {
String gender = o1.getGender();
String pinYin = PinyinUtils.getPinYin(gender);
System.out.println(pinYin);
String gender1 = o2.getGender();
String pinYin1 = PinyinUtils.getPinYin(gender1);
System.out.println(pinYin1);
char[] pinyinChars = pinYin.toCharArray();
char[] pinyinChars2= pinYin1.toCharArray();
int length = pinyinChars.length;
int length2 = pinyinChars2.length;
int lim = length2 - length>0?length:length2;
int k = 0;
while (k < lim) {
char c1 = pinyinChars[k];
char c2 = pinyinChars2[k];
if (c1 != c2) {
return c1 - c2;
}
k++;
}
return length - length2;
}
});
list.stream().forEach(person-> System.out.println(person));
//
// char a = 'a';
// int i = a + 1;
// System.out.println(((char) i));
// StringBuilder builder = new StringBuilder("'a',");
// for (int j = 1; j <= 26; j++) {
// builder.append("'"+((char) (a + j))+"',");
// }
// System.out.println(builder);
}
}