22heima-02进阶-day17日志,枚举

day17-12 日志

特点:
①通过使用日志技术,我们可以控制日志信息输送的目的地是控制台、文件等位置
②我们也可以控制每一条日志的输出格式
③通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程
④可以用过一个配置文件来灵活地进行配置,而不需要修改应用的代码
体系结构
日志规范接口:
JCL(不常用)
slf4j(Simple Logging Facade for Java)
日志实现框架
Log4j(有大漏洞)
Logback(基于slf4j的日志规范实现的框架,性能比之前使用的log4j好)

Logback主要分为三个技术模块:
logback-core:为另外两个模块提供基础代码
logback-classic:完整实现了slf4j API的模块
logback-access:与Tomcat和Jetty等Servlet容器集成,以提供HTTP访问日志功能
Logback使用方法:
①导入Logback的相关jar包
②编写Logback配置文件
③在代码中获取日志的对象
④按照级别设置记录日志信息
获取日志对象

public class LogDemo{
	private static final Logger LOGGER=LoggerFactory.getLogger(LogDemo.class)
	
	public static void main(String[] args){
		//语句
		LOGGER.info("输出"+变量);
	}
}

日志级别:TRACE<DEBUG<INFO<WARN<ERROR<FATAL
默认debug

day17-16 枚举

枚举:指将变量的值一一列出来,变量的值只限于列举出来的值的范围内
格式:

public enum s{
	枚举项1,枚举项2...;
}
public enum Season {
    SPRING,SUMMER,AUTUMN,WINTER;
}

枚举特点:
1.所有枚举类都是Enum的子类
2.我们可以通过“枚举类名.枚举项名称”去访问指定的枚举项
Season.SPRING
3.每一个枚举项其实就是该枚举的一个对象
Season spring=Season.SPRING;
4.枚举也是一个类,也可以去定义成员变量
5.枚举类的第一行上必须是枚举项,最后一个枚举项后的分号是可以省略的,但是如果枚举类有其他的东西,这个分号就不能省略
6.枚举类可以有构造器,但必须是private,它默认也是private的。枚举项用法:枚举(“”)

public enum Season{
	SPRING("春"){
	//下面有抽象方法,上面就得重写
	@Override
	public void show(){
		System.out.println("123);
	}
	},
	SUMMER("夏"){
	},
	AUTUMN("秋"){
	},
	WINTER("冬"){
	};
private String name;
	//空参构造
	private Season(){}
	//有参构造
	private Season(String name){
		this.name=name;
	}
	//抽象方法
	//public abstract void show();
}
7.枚举类也可以有抽象方法,但是枚举项必须重写该方法

枚举的方法
String name() 获取枚举项的名称
Int ordinal() 返回枚举项在枚举类中的索引值
int compareTo(E o) 比较两个枚举项,返回索引值的差值
String toString() 返回枚举常量的名称
static <T> T valueOf(Class<T> type,String name) 获取指定枚举类中的指定名称的枚举值
values() 获得所有的枚举项

public class EnumDemo {
    public static void main(String[] args) {
        //String name()			获取枚举项的名称
        String name = Season.SPRING.name();//SPRING
        //Int ordinal()				返回枚举项在枚举类中的索引值
        int index = Season.SPRING.ordinal();//0
        //int compareTo(E o)	比较两个枚举项,返回索引值的差值
        int result = Season.SPRING.compareTo(Season.WINTER);//-3
        //String toString()		返回枚举常量的名称
        String s=Season.SPRING.toString();//SPRING
        //static <T> T valueOf(Class\<T\> type,String name)	获取指定枚举类中的指定名称的枚举值
        Season spring = Enum.valueOf(Season.class, "SPRING");
        //values()					获得所有的枚举项
        Season[] values = Season.values();
    }
}

public class EnumDemo {
public static void main(String[] args) {
//String name() 获取枚举项的名称
String name = Season.SPRING.name();//SPRING
//Int ordinal() 返回枚举项在枚举类中的索引值
int index = Season.SPRING.ordinal();//0
//int compareTo(E o) 比较两个枚举项,返回索引值的差值
int result = Season.SPRING.compareTo(Season.WINTER);//-3
//String toString() 返回枚举常量的名称
String s=Season.SPRING.toString();//SPRING
//static T valueOf(Class<T> type,String name) 获取指定枚举类中的指定名称的枚举值
Season spring = Enum.valueOf(Season.class, “SPRING”);
//values() 获得所有的枚举项
Season[] values = Season.values();
}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值