- 博客(17)
- 资源 (5)
- 问答 (5)
- 收藏
- 关注
原创 代理
代理(proxy)是Java SE 1.3新增的特性。利用代理可以在运行时创建一个实现了一组给定接口的新类。这种功能只有在编译时无法确定需要实现哪个接口时才有必要使用。 下面程序使用代理对象对二分查找进行跟踪。package proxy;import java.lang.reflect.InvocationHandler;import java.lang....
2018-08-28 21:24:05 130
原创 静态内部类
有时候,使用内部类只是为了把一个类隐藏在另一个类的内部,并不需要内部类引用外围类对象。为此,可以将内部类声明为static,以便取消产生的引用。 如果一个类要被声明为static的,只有一种情况,就是静态内部类。如果在外部类声明为static,程序会编译都不会过。在一番调查后个人总结出了3点关于内部类和静态内部类(俗称:内嵌类) 1.静态内部类跟静态方法一...
2018-08-28 17:58:27 171
原创 匿名内部类
假如只创建这个类的一个对象,就不必命名了。这种类被称为匿名内部类(anonymous inner class)。 public void start(int interval, final boolean beep) { ActionListener listener = new ActionListener() { public void actionPe...
2018-08-28 17:33:11 99
转载 @Value取不到值的原因(引用application.properties中自定义的值)
在spring mvc架构中,如果希望在程序中直接使用properties中定义的配置值,通常使用一下方式来获取: @Value("${tag}") private String tagValue;但是取值时,有时这个tagvalue为NULL,可能原因有:使用static或final修饰了tagValue,如下:rivate static String tag...
2018-08-25 20:15:58 1166
原创 接口与回掉
回掉(callback)是一种常见的程序设计模式。在这种模式中,可以指出摸个特定事件发生时应该采取的动作。下面是一个简单的演示程序。package timer;import javax.swing.*;import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListen...
2018-08-23 07:31:24 153
原创 对象克隆
浅拷贝与深拷贝,示例:package clone;import java.util.Date;import java.util.GregorianCalendar;public class Employee implements Cloneable { private String name; private double salary; private...
2018-08-22 12:46:49 117
原创 Arrays类的sort()方法实现Comparable接口对象数组排序
Arrays类中的sort方法承诺可以对对象数组进行排序,但要求满足下列前提:对象所属的类必须实现了Comparable接口。下面是Comparable接口的代码://Java SE 5.0之前:public interface Comaprable { public int comparableTo(Object other);}//Java SE 5.0中,Compar...
2018-08-22 09:58:53 1858
原创 如何在idea中使用Mybatis-generator插件快速生成代码
启动配置参考如下截图。1)2)3)参考文档如何在idea中使用Mybatis-generator插件快速生成代码IDEA中使用mybatis-generator自动生成mapper和pojo文件
2018-08-20 14:09:52 306
原创 调用任意方法-反射机制
在C和C++中,可以从函数指针执行任意函数。从表明面上看,Java没有提供方法指针,即将一个方法的存储地址传给另外一个方法,以便第二个方法能够随后调用它。事实上,Java提供的接口(interface)是一种更好的解决方案。然而,反射机制允许你调用任意方法。 package methods;import java.lang.reflect.Method;public...
2018-08-20 13:23:26 175
原创 使用反射编写泛型数组代码-扩展任意类型的数组
Java.lang.reflect包中的Array类允许动态的创建数组。例如,将这个特性应用到Arrays类中的copyOf方法实现中,应该记得这个方法可以用于扩展已经填满的数组。Employee[] a = new Employee[100];...//array is fulla = Arrays.copyOf(a, 2 * a.length); 如...
2018-08-20 12:47:30 303
原创 在运行时使用反射分析对象--查看数据域的实际内容
在前面,已经知道如何查看任意对象的数据域名称和类型:1) 获得对应的Class对象2) 通过Class对象调用getDeclaredFields下面将进一步查看数据域的实际内容package objectAnalyzer;import java.util.ArrayList;/** * This program uses reflection to spy on...
2018-08-20 11:15:24 133
原创 利用反射分析类的能力-检查类的结构
在java.lang.reflect包中有三个类Field、Method和Constructor分别用来描述类的域、方法和构造器。三者都有一个getName的方法,用来返回项目的名称。Field类有一个getType方法,用来返回描述域所属类型的Class对象。Method 和Constructor 类有能够报告参数类型的方法,Method类还有可以报告返回类型的方法。 ...
2018-08-20 07:47:35 199
原创 Java获取并解析服务器端的JSON数据包
最近做spring boot项目,需要从微信api获取用户数据,并加以解析,转换成Java中的对象,所以就决定写一个JSONAnalysis静态工具类,在需要的时候只需调用该方法即可。参考资料: JSONObject,JSONArray,Map,String之间转换这个网址里有很多JSON API免费接口http://www.bejson.com/knownjson/webInterf...
2018-08-19 12:18:04 2583
原创 枚举类实例
可以在枚举类型中添加一些构造器、方法和域,构造器只是在构造枚举常量的时候被调用。所有的枚举类型都是Enum类的子类。import java.util.*;public class EnumTest{ public static void main(String[] args) { Scanner in = new Scanner(System.in); System.ou...
2018-08-06 22:46:07 781
原创 参数数量可变的方法
在Java SE 5.0以前的版本中,每个Java方法都有固定数量的参数。然而,现在的版本提供了可以用可变的参数数量调用的方法(有时称为“变参”方法)。前面已经看到过这样的方法:printf。例如,下面的方法调用:System.out.printf("%d", n);和System.out.printf("%d %s", n, "widgets");在上面两条语句中,尽管...
2018-08-03 13:52:58 458 2
原创 如何编写一个修改数值参数的方法
有些人认为包装器类可以用来实现修改数值参数的方法,然而这是错误的。由于Java方法都是值传递,所以不可能编写一个下面这样的能够增加整型数值的Java方法。public static void triple1(int x){ x = 3 * x;}将int替换成Integer又会怎么样呢?public static void triple2(Integer x){ x =...
2018-08-02 23:18:50 949
gateway-demo.rar
2020-06-28
企业级权限管理系统ssm
2018-12-12
购物新天地网上商城
2018-06-22
如何设置kubernetes中dashboard的时区
2022-04-01
多线程下载一个大文件的速度更快的真正原因是什么
2022-01-14
chrome只能抓取浏览器的当前页面中的请求吗
2022-01-06
java中单字符字符串utf-16编码为什么占用4个字节
2021-12-28
TA创建的收藏夹 TA关注的收藏夹
TA关注的人