public class Order {
String orderName;
int orderId;
T orderT;
public Order(){
//错误的
// T[] arr = new T[10];
//正确写法
T[] arr = (T[]) new Object[10];
}
public Order(String orderName,int orderId,T orderT){
this.orderName = orderName;
this.orderId = orderId;
this.orderT = orderT;
}
//以下的三个方面方法都不是泛型方法
public T getOrderT (){
return orderT;
}
public void setOrderT(T orderT){
this.orderT = orderT;
}
@Override
public String toString() {
return "Order{" +
"orderName='" + orderName + '\'' +
", orderId=" + orderId +
", orderT=" + orderT +
'}';
}
//静态方法中不能调用泛型结构
// public static void show(T orderT){
// System.out.println(orderT);
// }
public static void show(){
//try-catch结构不能调用泛型
// try{
//
// }catch(T t){
//
// }
}
//泛型方法:在方法中出现了泛型,并且方法的泛型与类声明的泛型参数不相同。
//换句话说,泛型方法所在的类是不是泛型类都无所谓。
//泛型方法时可以声明为静态的,因为泛型的类型是调用方法时确定的,并非实例化类时确定的
public static List copyToArrayList(E[] arr){
List list = new ArrayList<>();
for(E e : arr){
list.add(e);
}
return list;
}
}
public class SubOrder extends Order{//SubOrder:不是泛型类
public static List copyToArrayList(E[] arr){
List list = new ArrayList<>();
for(E e : arr){
list.add(e);
}
return list;
}
}
public class SubOrder1 extends Order{//SubOrder1:仍然是泛型类
}
测试:
public class GenericTest1 {
@Test
public void test1(){
//如果使用了泛型的类,在实例化的时候没有确定泛型的类型,那么此泛型类型默认为Object类的。
//不建议这样使用,如果创建类使用了泛型,建议在实例化时指明泛型类型。
// Order o1 = new Order();
// o1.setOrderT(123);
// o1.setOrderT("ABC");
Order order = new Order<>("Tom",1002,"order:Tom");
order.setOrderT("order:AA");
}
@Test
public void test2(){
//由于子类继承了带泛型的父类时,指明了泛型的类型。则在子类实例化时不需要再声明泛型的类型。
SubOrder o = new SubOrder();
o.setOrderT(123);
SubOrder1 sub2 = new SubOrder1<>();
sub2.setOrderT(12.3f);
}
@Test
public void test3(){
ArrayList list1 = null;
ArrayList list2 = null;
//泛型不同的引用不能相互赋值。
// list1 = list2;
Person p1 = null;
Person p2 = null;
p1 = p2;
}
@Test
public void test4(){
Order order = new Order<>();
Integer[] arr = new Integer[]{1,2,3,4};
//泛型方法在调用时,指明泛型参数的类型。与泛型类的类型不相干
List list = order.copyToArrayList(arr);
System.out.println(list);
}
}
//泛型方法:在方法中出现了泛型,并且方法的泛型与类声明的泛型参数不相同。
//换句话说,泛型方法所在的类是不是泛型类都无所谓。
//泛型方法时可以声明为静态的,因为泛型的类型是调用方法时确定的,并非实例化类时确定的
public static List copyToArrayList(E[] arr){
List list = new ArrayList<>();
for(E e : arr){
list.add(e);
}
return list;
}
GetUrlParam:function GetUrlParam(param){
var reg = new RegExp("(^|&)"+ param +"=([^&]*)(&|$)");
var r = window.location.search.substr(1).match(reg);
if(r!=null
==================================================
1、打开PowerDesigner12,在菜单中按照如下方式进行操作
file->Reverse Engineer->DataBase
点击后,弹出 New Physical Data Model 的对话框
2、在General选项卡中
Model name:模板名字,自
网站配置是apache+tomcat,tomcat没有报错,apache报错是:
The proxy server received an invalid response from an upstream server. The proxy server could not handle the request GET /. Reason: Error reading fr
Free variable A free variable of an expression is a variable that’s used inside the expression but not defined inside the expression. For instance, in the function literal expression (x: Int) => (x
Part Ⅰ:
《阿甘正传》Forrest Gump经典中英文对白
Forrest: Hello! My names Forrest. Forrest Gump. You wanna Chocolate? I could eat about a million and a half othese. My momma always said life was like a box ochocol
Json在数据传输中很好用,原因是JSON 比 XML 更小、更快,更易解析。
在Java程序中,如何使用处理JSON,现在有很多工具可以处理,比较流行常用的是google的gson和alibaba的fastjson,具体使用如下:
1、读取json然后处理
class ReadJSON
{
public static void main(String[] args)