- 枚举类型和values方法
public enum EnumDemoFirst {
RED(1,"hongse"),GREEN(2,"lvse"),YELLOW(3,"huangse");
private int code;
private String msg;
private EnumDemoFirst(int ordinal, String name) {
this.code = ordinal;
this.msg = name;
}
public class EnumTest {
public static void main(String[] args) {
EnumDemoFirst[] values = EnumDemoFirst.values();
for (EnumDemoFirst enumDemoFirst : values) {
System.out.println(enumDemoFirst + "--" + enumDemoFirst.getCode() + "--" + enumDemoFirst.getMsg());
System.out.println("=============");
}
}
}
则输出为:
RED--1--hongse
=============
GREEN--2--lvse
=============
YELLOW--3--huangse
=============
- 多文件编程:
- 步骤:
文件 -> 打开文件夹 -> Java20-mylearning;
ctrl+shift+p -> java:create a project;
在src文件下再新建一层目录myproj;
在myproj下新建java文件,第一行写:package myproj;
;
- 步骤:
- enum
本质上是一个类,需要在自定义带参数的构造函数;
调用时:calabash_in_line[i] = Calabash.values()[i];
- public static void sort();
- 准备写main函数的类中不要写构造函数初始化成员对象;
- HashMap中的key若用了自定义类型,则需要重写equals函数和hashCode函数。如:
class CityPair{
private String city1;
private String city2;
CityPair(String s1,String s2){
int x=s1.compareTo(s2);
if(x>0){
String tmp=s2;
s2=s1;
s1=tmp;
}
city1=s1;
city2=s2;
}
@Override
public boolean equals(Object o)
{
if(this == o)
{
return true;
}
if(!(o instanceof CityPair))
{
return false;
}
CityPair cp = (CityPair)o;
return cp.city1.equals(city1) && cp.city2.equals(city2);
}
@Override
public int hashCode() {
StringBuilder sb = new StringBuilder();
sb.append(city1);
sb.append(city2);
char[] charArr = sb.toString().toCharArray();
int hash = 0;
for(char c : charArr) {
hash = hash * 131 + c;
}
return hash;
}
}
private static HashMap<CityPair,Integer> CityMap=new HashMap<CityPair,Integer>();