示例一:获取父类的泛型的类型
public class Emp<T, Q> {class Stu extends Emp<String, Integer> {}Testvoid fun() {final Type type Emp.class.getGenericSuperclass();final ParameterizedType parameterizedType (ParameterizedType) type;Syste…
ObjectStreamClass类的forClass()方法 (ObjectStreamClass Class forClass() method) forClass() method is available in java.io package. forClass()方法在java.io包中可用。 forClass() method is used to return the Class in the local virtual machine that this versio…
java math log数学类静态double log1p(double d) (Math Class static double log1p(double d) ) This method is available in java.lang package. 此方法在java.lang包中可用。 This method is used to return (the logarithm of the sum of the given argument and 1 like lo…
前一段时间为了方便简单的写了一个JAVA生成测试数据的工具类。
使用场景如下:
有时候定义好了类但是会需要测试数据,这个时候我们可能会需要如下操作。
//伪代码
A a new A();
a.setB1("xxx");
a.setB2("xxx");
a.setB3("xx…
使用 Java 反射可以动态地设置对象的属性值,包括 List 类型的属性。以下是一个示例代码,演示如何通过反射设置 List 类型的属性: 假设有一个类 Person,包含一个 List 类型的属性 names: java
public class Person { …
java package包类的getPackages()方法 (Package Class getPackages() method) getPackages() method is available in java.lang package. getPackages()方法在java.lang包中可用。 getPackages() method is used to return all the packages recently for the callers ClassLo…
java获取vm运行参数To get the name of running VM (Virtual Machine) in Java, we use the getProperties() method, which is defined in System class, while calling the method, we need to pass the property name to get the name of running Java VM. 要获取Java中正在…
工厂方法模式 Factory Method Pattern 定义: Define an interface for creating an object, but let subclass decide which class to instantiate. Factory Method lets a class defer instantiation to subclass. 定义一个用于创建对象的接口,让子类决…
文章目录包装类toString关键字static单例 (Singleton)设计模式饿汉单例模式懒汉式main方法包装类
针对八种基本定义相应的引用类型—包装类(封装类) 应用:
字符串转换成基本数据类型 通过包装类的构造器实现: int i new Integ…
StreamTokenizer类eolIsSignificant()方法 (StreamTokenizer Class eolIsSignificant() method) eolIsSignificant() method is available in java.io package. eolIsSignificant()方法在java.io包中可用。 eolIsSignificant() method is used to identifies whether the end o…
一、反射
作用:做一般做不到的事情
使用场景:插件换肤、插件式开发
所有反射功能都是基于class字节码,包含三个部分
Filed:属性Constructor:构造函数method:方法 public class TestBean {private Strin…
IOC: Inversion Of Control 控制反转DI: Dependency Injection 依赖注入1.控制反转 Inversion Of Control 的前世今生1.1 IOC理论产生的背景讨论控制反转之前,先看看软件系统提出控制反转的前世今生。一个完整精密的软件系统,组件之间就像齿轮&…
//反射字段:public String name "zhangsan"; public void test1() throws Exception{Person p new Person();Class clazz Class.forName("reflect.Person");Field f clazz.getField("name");//获取字段值Object value f.get(p)…
public
1、public:public表明该数据成员、成员函数是对所有用户开放的,所有用户都可以直接进行调用 。
package com.mtlk.day_03;public class Students {String name;int age;
}在学生类里面不加修饰符定义name和age。
package com.mtlk.day_03;publ…
java compiler编译器类enable()方法 (Compiler Class enable() method) enable() method is available in java.lang package. enable()方法在java.lang包中可用。 enable() method is used to cause the compiler to resume operation which is stopped by using a disable() …
单例模式 一个类只允许产生一个对象
//1.饿汉式
class ClassA{private static final ClassA ca new ClassA();private ClassA(){}private static ClassA getInstance(){return ca;}
}//2.懒汉式
class ClassB{private static ClassB cb null;private ClassB(){}public stati…
在MySQL中,BLOB是一种数据类型,代表二进制大对象(Binary Large Object),可以存储大量的二进制数据,如图像、声音、视频等。BLOB类型的数据在存储和检索时会以二进制方式进行处理,而不是字符方式…
抽象基类(abc模块) 抽象基类介绍 抽象基类(abstract base class,ABC):抽象基类就是类里定义了纯虚成员函数的类。纯虚函数只提供了接口,并没有具体实现。抽象基类不能被实例化(不能创建对象),通常是作为基类供子类继承…
1、在编译的时候不确定用哪个属性或方法时,则可以使用反射。
2、getDeclared系列方法:
可以获取当前运行时类及其父类中声明为 public 访问权限的属性或方法;获取当前运行时类中声明为 public 的构造器(不包含父类) …
BigDecimal类的equals()方法 (BigDecimal Class equals() method) equals() method is available in java.math package. equals()方法在java.math包中可用。 equals() method is used to check whether this BigDecimal and the given object are equal or not and the two ob…
ObjectStreamField类的getTypeCode()方法 (ObjectStreamField Class getTypeCode() method) getTypeCode() method is available in java.io package. getTypeCode()方法在java.io包中可用。 getTypeCode() method is used to retrieve character code of field type. getTypeC…
Class类
类也是对象,类是java.lang.Class类的实例对象。
There is a class named Class.
获取Class对象的三种方式
类名.class //类的静态成员变量
对象名.getClass()
Class.forName(“类的全称”) //包名.类名
如&#…
类和类之间的关系 泛化关系。类和类之间的继承及接口和接口之间的继承 is a 实现关系。接口与实现类之间的关系 is like a 关联 类与类之间的连接,一个类可以知道另一个类的属性和方法 has a class A{String name;B b;A(B b){this.bb;}}
class B{String name;A a;} …
java的math类pow数学类静态双战俘(双基,双指数) (Math Class static double pow(double base , double exponent) ) This method is available in java.lang package. 此方法在java.lang包中可用。 This method is used to calculate the power of the given argume…
来自Struct文档一段说明,说明了反射和内省的关系,翻译了一下:
Reflection is the process of determining which member fields and methods are available on an object.
反射是一个确定有哪些成员变量、成员方法可在一个对象上使用的过程…
工具方面 推荐ILSpy https://www.cr173.com/soft/30697.html 下载 打开拖入dll 文件即可 如何生成dll 文件 新建一个动态链接库项目 右上角是绿色的C# 别弄成VB 了
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Thr…
在工作中,难免会通过反射去获得对象某个属性的值,从而进行下一步的操作。如下反射工具实现了这样的功能。 方法一:通过对象反射获取 package com.bijian.test;import java.lang.reflect.Field;/*** 反射获取对象属性值工具类*/
public class …
单例模式
关于单例模式,可以戳这篇文章:《【设计模式】单例模式(Singleton Pattern)》
下面这是一个经典的懒汉式单例模式实现。
public class Singleton {// 1.在类中添加一个私有静态成员变量用于保存唯一实例private static…
User user new User(23,"唐嫣");
反射field.set(user,"柳岩")可以将user的值改变为23,柳岩Map<String,String[]> map getParameterMap();
数组直接打印得到的是哈希地址值,集合是{...}的样式Class.forName("全类名");
全类名不是路径,即…
今天在Java中字节码的格式的时候,发现method_info中的access_flags中竟然定了ACC_BRIDGE的值。网上搜了一下,大概理解它的意思了,先记之。首先是在什么情况下会生成bridge方法(2):bridge method may be cre…
java中的starts数学类静态float nextAfter(浮动开始,双向) (Math Class static float nextAfter(float starts , double directions) ) This method is available in java.lang package. 此方法在java.lang包中可用。 This method is used to return the float floa…
开发过程中为了方便解析JSON数组数据,所以客户端类属性按照JSON数组数据顺序进行编写,然后通过反射分别给每个属性复制:
反射获取属性
新建一个实体类
public class InfoBean {public String name;public String url;public int page;publ…
1.根据传入的对象生成Map集合Testpublic void test02(){User user new User();user.setId(1);user.setName("Albert");user.setSex("男");try{Map<String, Object> map getFieldVlaue(user);System.out.println("通过反射获取属性值ÿ…
题目链接:https://ac.nowcoder.com/acm/contest/331/I题目描述
小希拿到了一个镜子块,镜子块可以视为一个N x M的方格图,里面每个格子仅可能安装\或者/的镜子,会反射90光线,也可能没有安装镜子,使用.代替。 但她看不清…
原文地址为:
java中通过反射获取方法并且调用(getMethod和invoke深入)实践为了支持业务的快速变更,往往采用可配置的方式,将业务逻辑的处理部分配置在数据库中或者XMl文件里。配置什么,如何配置才更灵活,Thats a probl…