![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java基础
cjay_fighting
这个作者很懒,什么都没留下…
展开
-
反射修改 final
记一次线上事故:原本代码是这样的,线上application.yml中istest=true@Value("${istest}")private boolean istest=false;IDEA提示将该字段用final修饰,结果导致读取到该字段为false。原因是@Value注解的字段是在bean实例化之后,通过反射赋值的,而反射能顺利修改final字段(无报错提示),但由于字符串和基本类型的final字段会经过JVM内联优化,对变量的访问被替换成常量值的访问,导致获取不到修改后的值。即反射能原创 2021-03-29 20:54:51 · 888 阅读 · 0 评论 -
枚举类(Enum Types)
和class一样,通过Enum关键字来定义枚举类,来表示某个常量集合,因为是常量,其中的字段通常大写:public enum Day { SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY }java中的枚举类十分强大,本质上是class,因此包含成员变量和方法。当创建一个Enum时,编译器会自动加上...转载 2019-04-15 21:18:43 · 440 阅读 · 0 评论 -
注解(annotations)
注解的格式最简单的注解:@Entity@告诉编译器这是一个注解,以下的注解名是Override@Override注解可以包含若干元素,元素有名字和值:@Author( name = "Benjamin Franklin", date = "3/27/2003")class MyClass() { ... }@SuppressWarnings(value = "u...转载 2019-04-16 15:14:57 · 702 阅读 · 0 评论 -
Java嵌套类(转)
本文转自: https://docs.oracle.com/javase/tutorial/java/javaOO/nested.html在类内部定义的类就是嵌套类,如:class OuterClass { ... class NestedClass { ... }}...转载 2019-04-13 23:40:07 · 111 阅读 · 0 评论 -
局部类(Local Classes)
局部类的定义局部类(Local Classes)是定义在任何代码块中的类,比如定义在方法中,for或者if语句里。下面代码在方法validatePhoneNumber中定义了PhoneNumber类:public class LocalClassExample { static String regularExpression = "[^0-9]"; public...转载 2019-04-14 16:57:24 · 776 阅读 · 1 评论 -
匿名类(Anonymous Classes)
匿名类匿名类可以让代码更加简洁,因为它允许声明的同时实例化一个类。类似于局部类,只不过他们没有名字,当只需要一次局部类时,用匿名类更简洁。匿名类的声明局部类的声明是类的声明,但匿名类的声明是一个表达式。下面的例子中,frenchGreeting和spanishGreeting的初始化使用了匿名类,而englishGreeting的初始化使用了局部类。public class HelloWo...转载 2019-04-14 21:23:46 · 1526 阅读 · 0 评论 -
The try-with-resources Statement
本文转自这里。try-with-resources也是一种try语句,只不过额外声明了一个或多个必须在程序结束时必须关闭的资源。try-with-resources确保这些资源在程序结束时被关闭,资源是任何实现了java.lang.AutoCloseable接口的对象,或者任何实现了java.io.Closeable接口的对象(因为间接实现了java.lang.AutoCloseable)。以...转载 2019-04-17 16:29:00 · 328 阅读 · 0 评论