zoukankan      html  css  js  c++  java
  • 12.时间日期,字符串,内部类,拆装箱,枚举,泛型

    一.String,StringBuffer,StringBuilder
    1.String是一个不可变的常量,每次修改都会产生新的对象
    2.StringBuffer,StringBuilder都是可变字符序列,是字符串的增强版。
    3.StringBuffer,StringBuilder作用:主要是当业务大量修改字符串的时使用
    4.区别:StringBuffer是线程安全,StringBuild非线程安全

    二.自动拆装箱
    1.基本类型转换为封装类型为装箱过程,反之则是拆箱过程
    2.八种基本数据类型对应的封装类型
    Byte b;//byte
    Short s;//short
    Integer i ;//int
    Long l;//long
    Float f;//float
    Double d;//double
    Character c;//char
    Boolean bool;//boolean
    3.从字符串转换为基本据类型,都是由其封装类型的valueOf()方法实现
    例如:int num4 = Integer.valueOf("12345");
    float f2 = Float.valueOf("3.1415");

    一.内部类
    1.成员内部类 语法
    public class InnerDemo{
    class Inner{}
    }
    2.特点:
    a.会产生多个class文件,文件名为:InnerDemo$Inner.class
    b.内部类可以直接访问外部类的所有属性和方法包括私有的
    c.外部类不能直接访问内部类的成员,要通过内部类的实例来调用
    d.创建内部类的语法:InnerDemo.Inner in = new InnerDemo().new Inner();
    e.所有的内部类都不能和外部类重名
    f.内部类不能定义静态方法和属性,但是可以定义静态常量

    二.内部匿名类
    1.语法: new interface/superClass(){//实体}

    2.特点:
    a.没有名字
    b.匿名类也会产生class文件,文件名是后缀加上1,2,3,4...
    c.只能一次性使用
    d.匿名类中不能定义静态代码块

    三.局部内部类
    1.定义在方法体或者代码块中
    2.特点:
    a.其作用范围只能是在该方法体中
    b.不能用任何修饰符
    c.也会产生类文件




    枚举
    1.定义:是一个类,可以有属性和方法,但其构造方法是私有的,外部不能访问
    2.特点:不能直接构造,用类名.枚举值的方式创建枚举对象
    3.用法:代替接口来定义常量
    4.优势:可以对常量多定义,可以在获取常量值时加入逻辑代码,功能比接口更强大
    5.语法:见案例


    练习:

    假设银行账户状态为:
    0.开户
    1.激活
    2.正常使用
    3.冻结
    4.睡眠
    5.注销
    请设计枚举类型保存这些状态
    要求:程序中可以随时调用状态值,和查看状态属性
    思路:1枚举中有状态值属性和状态属性
    2.重载枚举的构造方法
    3.在get中添加逻辑代码

    /*
     * 练习:假设银行账户状态为:
    0.开户
    1.激活
    2.正常使用
    3.冻结
    4.睡眠
    5.注销
    请设计枚举类型保存这些状态
    要求:程序中可以随时调用状态值,和查看状态属性
    思路:1枚举中有状态值属性和状态属性
    	2.重载枚举的构造方法
    	3.在get中添加逻辑代码
     */
    package com.class1114;
    
    public class Class1 {
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    
    		System.out.println(AccountState.OPENaccount.getKey());
    		System.out.println(AccountState.OPENaccount.getValue());
    	}
    
    }
    
    enum AccountState{
    	OPENaccount(0),ACTIVATEaccount(1),NORMALaccount(2),BLOCKEDaccount(3),DORMANCYaccount(4),LOGOUTaccount(5);
    	AccountState(int key){
    		this.key=key;
    	}
    	private int key;
    	private String value;
    	public int getKey() {
    		return key;
    	}
    	public void setKey(int key) {
    		this.key = key;
    	}
    	public String getValue() {
    		switch(key){
    		case 0:
    			value="开户";
    			break;
    		case 1:
    			value="激活";
    			break;
    		case 2:
    			value="正常使用";
    			break;
    		case 3:
    			value="冻结";
    			break;
    		case 4:
    			value="睡眠";
    			break;
    		case 5:
    			value="注销";
    			break;
    		default:
    			value="";
    		}
    		return value;
    	}
    	public void setValue(String value) {
    		this.value = value;
    	}
    	
    }
    

      


    日期类型:
    Date SimpleDateFormat Calendar
    一.date常用方法
    1.构造方法
    2.getTime():获取时间的毫秒数
    二.SimpleDateFormat常用方法
    1.构造方法
    2.formart:日期转字符串
    3.parse:字符串转日期

    三.Calendar常用方法
    1.getInstence():获取日历对象
    2.set:设置日历的字段值
    3.get:获取日历的字段值
    4.add:在日历的字段值上增加数值
    5.getTime:返回日历的日期对象


    练习
    1.用java程序计算1到1000000的累加值,求这段程序运行的时间是多少?

    2.打印输出当前时间
    格式:2012年1月1日 23点33分56秒234毫秒 时区:XXXX

    3.输入字符串 2012-12-12 2:21:24,把该字符串转换成日期对象

    /*
     * 1.用java程序计算1到1000000的累加值,求这段程序运行的时间是多少?
     */
    package com.class1114;
    
    import java.util.Date;
    
    public class Class3 {
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    
    		Date d1=new Date();
    		long t1=d1.getTime();
    		int sum=0;
    		for(int i=1;i<=1000000;i++){			
    			sum+=i;	
    		}
    		Date d2=new Date();
    		long t2=d2.getTime();
    		long t=t2-t1;
    		System.out.println(t);
    	}
    
    }
    
    /*
     * 2.打印输出当前时间
    格式:2012年1月1日  23点33分56秒234毫秒  时区:XXXX 
     */
    package com.class1114;
    
    import java.text.SimpleDateFormat;
    import java.util.Date;
    
    public class Class2 {
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    
    		Date d=new Date();
    		SimpleDateFormat sdf=new SimpleDateFormat("yyyy年MM月dd日  HH点mm分ss秒SSS毫秒  时区:ZZZZ");
    		String str=sdf.format(d);
    		System.out.println(str);
    	}
    
    }
    

      

    /*
     * 3.输入字符串 2012-12-12 2:21:24,把该字符串转换成日期对象
     */
    package com.class1114;
    
    import java.text.SimpleDateFormat;
    import java.util.Date;
    
    public class Class4 {
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    
    		Date d=new Date();
    		String str="2012-12-12 21:21:24";
    		SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    		try {
    			d=sdf.parse(str);
    		} catch (Exception e) {
    			// TODO: handle exception
    			e.printStackTrace();
    		}
    		System.out.println(d);
    	}
    
    }
    

    例子

    package com.demo1114;
    
    import org.junit.Test;
    
    import com.demo1114.Innerclass.Inner;
    
    public class Demo {
    	@Test
    	public void test(){
    		StringBuffer sb = new StringBuffer("hello");
    		sb.append(" hwua");
    		sb.insert(5, " are you ");
    		System.out.println(sb.toString());
    	}
    	//拆装箱
    	@Test
    	void test2(){
    		int i = Integer.valueOf("123");
    		Integer number = 100;
    		int num2 = number;
    	}
    	
    	public static void main(String[] args) {
    		Demo d = new Demo();
    		d.test2();
    		
    		Inner in = new Innerclass().new Inner();
    		
    		Iinter ii = new Iinter() {
    			@Override
    			public void hello() {
    				System.out.println("你好");
    			}
    		};
    		ii.hello();
    	}
    }
    
    class Innerclass{
    	String name;
    	private int age;
    	class Inner{
    		String sex;
    		
    		void hello(){
    			age = 1;
    			name="sds";
    		}
    	}
    	
    	void test(){
    		Inner in = new Inner();
    		in.sex = "";
    		class TestInner{
    			String hh;
    		}
    	}
    }
    
    interface Iinter{
    	void hello();
    }
    

      

    package com.demo1114;
    
    import org.junit.Test;
    
    public class EnumDemo{
    	public static void main(String[] args) {
    		System.out.println(Color.BLUE.getValue());
    		System.out.println(Color.BLUE.getKey());
    	}
    }
    
    enum Color {
    	RED(1),YELLOW(2),BLUE(3),GREEN(4),BLACK(5);
    	Color(int key){
    		this.key = key;
    	}
    	
    	int key;
    	String value;
    	public int getKey() {
    		return key;
    	}
    	public void setKey(int key) {
    		this.key = key;
    	}
    	public String getValue() {
    		if(key==1){
    			return "红色";
    		}else if(key==2){
    			return "黄色";
    		}else if(key==3){
    			return "蓝色";
    		}else if(key==4){
    			return "绿色";
    		}else if(key==5){
    			return "黑色";
    		}
    		return "";
    	}
    	public void setValue(String value) {
    		this.value = value;
    	}
    }
    

      

    package com.demo1114;
    
    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.Date;
    
    import org.junit.Test;
    
    public class DateDemo {
    	@Test
    	void test1(){
    		Date date = new Date();
    		System.out.println(date);
    	}
    	//日期和字符串的转换
    	//2012年1月1日  23点33分56秒234毫秒  时区:XXXX 
    	@Test
    	public void test2(){
    		Date date = new Date();
    		SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日  HH点mm分ss秒SSS毫秒  时区:z");
    		String str = sdf.format(date);
    		System.out.println(str);
    	}
    	
    	public void test3() throws ParseException{
    		String str = "2017-11-14 23:23:23";
    		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    		Date date = sdf.parse(str);
    		System.out.println(date.toString());
    	}
    	
    	public static void main(String[] args) {
    		DateDemo dd = new DateDemo();
    		try {
    			dd.test3();
    		} catch (ParseException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
    	}
    }
    

      

    package com.demo1114;
    
    import java.util.Calendar;
    
    public class CalenderDemo {
    	public static void main(String[] args) {
    		Calendar c = Calendar.getInstance(); 
    		c.add(Calendar.YEAR, -3);
    		c.get(Calendar.DAY_OF_WEEK);
    		System.out.println(c.get(Calendar.DAY_OF_WEEK));
    	}
    }
    

      

    作业1

    1.输入文件名,判断该文件是不是java文件

    2.写一个方法,实现对敏感字的替换返回替换后的字符串 String replaceWord(String src,String word,String desc)
    src:原字符串
    word:敏感词
    desc:替换后的词

    3.将下列诗句替换格式:
    白日依山尽,黄河入海流,欲穷千里目,更上一层楼。
    替换为:
    白日依山尽,
    黄河入海流,
    欲穷千里目,
    更上一层楼。

    4.写一个方法,判断字符串中字符出现的次数 int countChar(String src,String char)
    src:原字符串
    char:出现的字符

    5.判断登录名和密码是否正确,登录名大小写忽略
    登录名为:admin
    密码为:sa123456

    /*
     * 1.输入文件名,判断该文件是不是java文件
     */
    package com.class1113;
    
    import java.util.Scanner;
    
    public class Test1 {
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    
    		Scanner sc=new Scanner(System.in);
    		System.out.println("请输入文件名");
    		String s=sc.next();
    		if(s.endsWith(".java")){
    			System.out.println("该文件是java文件");
    		}else{
    			System.out.println("不知道");
    		}
    	}
    
    }
    

      

    /*
     * 2.写一个方法,实现对敏感字的替换返回替换后的字符串 
     * String replaceWord(String src,String word,String desc)
    src:原字符串
    word:敏感词
    desc:替换后的词
     */
    package com.class1113;
    
    public class Test2 {
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    
    		Test2 t2=new Test2();
    		String ss;
    		ss=t2.replaceWord("woshishuiawo", "wo", "ni");
    		System.out.println(ss);
    		ss=t2.replaceWord("我是中国人,我爱天空,天空是我亲祖宗", "天空", "xx");
    		System.out.println(ss);
    		
    		
    	}
    	
    	public String replaceWord(String src,String word,String desc){
    		String s="";
    		s=src.replaceAll(word, desc);
    		return s;
    	}
    
    }
    

      

    /*
     * 3.将下列诗句替换格式:
    白日依山尽,黄河入海流,欲穷千里目,更上一层楼。
    替换为:
    白日依山尽,
    黄河入海流,
    欲穷千里目,
    更上一层楼。
     */
    
    package com.class1113;
    
    public class Test3 {
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    
    		String ss="白日依山尽,黄河入海流,欲穷千里目,更上一层楼。";
    		String[] s1=ss.split(",");
    		for(int i=0;i<s1.length;i++){
    			if(i!=s1.length-1){
    				System.out.println(s1[i]+",");
    			}else{
    				System.out.println(s1[i]);
    			}
    			
    		}
    	}
    
    }
    

      

    /*
     * 4.写一个方法,判断字符串中字符出现的次数  int countChar(String src,String char)
    src:原字符串
    char:出现的字符
    用indexof也可以
     */
    package com.class1113;
    
    public class Test4 {
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    
    		Test4 t4=new Test4();
    		int s=t4.countChar("oh;asgujho;hgwo;fhoa", "g");
    		System.out.println(s);
    	}
    
    	public int countChar(String src,String char1){
    		int count=0;
    		for(int i=0;i<src.length();i++){
    			if(char1.charAt(0)==(src.charAt(i))){
    				System.out.println("xx");
    				count++;
    			}
    		}
    		return count;
    	}
    }
    

      

    /*
     * 5.判断登录名和密码是否正确,登录名大小写忽略
    登录名为:admin
    密码为:sa123456
     */
    package com.class1113;
    
    import java.util.Scanner;
    
    public class Test5 {
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    
    		String id="admin";
    		String password="sa123456";
    		
    		Scanner sc=new Scanner(System.in);
    		System.out.println("请输入用户名:");
    		String s1=sc.next();
    		if(id.compareToIgnoreCase(s1)==0){
    			System.out.println("请输入密码:");
    			String s2=sc.next();
    			if(password.compareToIgnoreCase(s2)==0){
    				System.out.println("登录成功!");
    			}else{
    				System.out.println("密码错误!");
    			}
    		}else{
    			System.out.println("用户名错误!");
    		}
    	}
    
    }
    

      

    泛型作业

    自己设计一个MyMap类,模拟完成HashMap的存放数据过程
    要求完成:
    put(K k,V v);
    get(K k);
    size();
    Set keySet();返回所有键的集合
    ensureCapacity(int i);判断是否需要扩容

    思路:
    1.写一个MyEntry类,来存放键值对

    class MyMap<K,V>{
    MyEntry<K,V>[] mes;
    int size;
    }

    class MyEntry<K,V>{
    K k;
    V v;
    set/get
    }

    /*
     * 泛型
     * 自己设计一个MyMap类,模拟完成HashMap的存放数据过程
    要求完成:
    put(K k,V v);
    get(K k);
    size();
    Set keySet();返回所有键的集合
    ensureCapacity(int i);判断是否需要扩容
     */
    package com.class1113;
    
    import java.util.HashSet;
    import java.util.Set;
    
    public class Test6 {
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    
    		MyMap<Integer,String> mmp=new MyMap<>();
    		int i=0;
    		String j=i+"";
    		while(i<20){
    			System.out.println(mmp.size());
    			System.out.println(mmp.put(i, j));
    			
    			System.out.println(mmp.get(i));
    			i++;
    		}
    		System.out.println(mmp.size());
    	}
    
    }
    
    class MyMap<K,V>{
    	MyEntry<K,V>[] mes=new MyEntry[16];
    	int size;
    	int Capacity=16;
    	public boolean put(K k,V v){
    		boolean b1=false;
    		MyEntry<K,V> me1=new MyEntry<>();
    		me1.setK(k);
    		me1.setV(v);
    		if(size>mes.length*3/4){
    			ensureCapacity(size);
    		}
    		for(int i=0;i<mes.length;i++){
    			if(mes[i]==null){
    				mes[i]=me1;
    				b1=true;
    				break;
    			}
    		}
    		return b1;
    	}
    	public V get(K k){
    		V vv=null;
    		MyEntry<K,V> me2=new MyEntry<>();
    		for(int i=0;i<mes.length;i++)
    		{
    			if(mes[i].getK()==k){
    				vv=mes[i].getV();
    				break;
    			}
    		}
    		return vv;
    	}
    	public int size(){
    		int num=0;
    		for(int i=0;i<mes.length;i++){
    			if(mes[i]==null){
    				num=i;
    				break;
    			}
    		}
    		return num;
    	}
    	public Set keyset(){
    		Set set=new HashSet();
    		for(int i=0;i<mes.length;i++){
    			set.add(mes[i].getK());
    		}
    		return set;
    	}
    	public boolean ensureCapacity(int i){
    		boolean b2=false;
    		if(i>mes.length*3/4){
    			MyEntry<K,V>[] newmes=new MyEntry[mes.length+(mes.length>>1)];
    			for(int j=0;i<mes.length;j++){
    				newmes[j]=mes[j];
    			}
    			mes=newmes;
    			b2=true;
    		}
    		return b2;
    	}
    }
    
    class MyEntry<K,V>{
    	private K k;
    	private V v;
    	public K getK() {
    		return k;
    	}
    	public void setK(K k) {
    		this.k = k;
    	}
    	public V getV() {
    		return v;
    	}
    	public void setV(V v) {
    		this.v = v;
    	}
    }
    

      

    /*
     * 写一个泛型类
    写一个泛型方法 contact(p , o)
    如果实参为两个整形,返回值为两数之和
    如果实参为两个字符串,返回值为两格字符串的拼接
    如果实参为两个浮点型,返回值为两数之积
     */
    
    package com.class1113;
    
    public class Class1 {
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    
    		GenricitiyClass<Integer,Integer> gn1=new GenricitiyClass<>();
    		gn1.contact(2,5);
    		GenricitiyClass<String,String> gn2=new GenricitiyClass<>();
    		gn2.contact("hehe", "da");
    		GenricitiyClass<Double,Double> gn3=new GenricitiyClass<>();
    		gn3.contact(12.5, 23.9);
    		GenricitiyClass<Integer,Double> gn4=new GenricitiyClass<>();
    		gn4.contact(12, 23.9);
    	}
    
    }
    
    class GenricitiyClass<E,T>{
    	public void contact(E e,T t){
    		Object a=null;
    		if(e.getClass().toString().equals("class java.lang.Integer")&&t.getClass().toString().equals("class java.lang.Integer")){
    			a=(Integer)e+(Integer)t;
    		}else if(e.getClass().toString().equals("class java.lang.String")&&t.getClass().toString().equals("class java.lang.String")){
    			a=(String)e+(String)t;
    		}else if(e.getClass().toString().equals("class java.lang.Double")&&t.getClass().toString().equals("class java.lang.Double")){
    			a=(Double)e*(Double)t;
    		}
    		System.out.println(a);
    	}
    	
    }

      

    作业2

    1.输入年月日,输出这个日期是星期几
    2.输出香港回归那一天是星期几
    3.输出新中国成立和澳门回归相差多少天
    4.输出今年双十一的三天前是星期几
    5.输入年份月份,打印输出这个月的月历 格式如下
    一 二 三 四 五 六 日
    1 2 3 4 5
    6 7 8 9 10 11 12
    13 14 15 16 17 18 19
    20 21 22 23 24 25 26
    27 28

    /*
     * 1.输入年月日,输出这个日期是星期几
     */
    
    package com.class1114;
    
    import java.util.Calendar;
    import java.util.Scanner;
    
    public class Test1 {
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    
    		Scanner sc=new Scanner(System.in);
    		System.out.println("请输入某年:");
    		int year=sc.nextInt();
    		System.out.println("请输入某月:");
    		int month=sc.nextInt();
    		System.out.println("请输入某日:");
    		int date=sc.nextInt();
    		
    		Calendar c=Calendar.getInstance();
    		c.set(year,month-1,date);
    		int d=c.get(Calendar.DAY_OF_WEEK)-1;
    		System.out.println("那天是星期"+d);
    	}
    
    }
    

      

    /*
     * 2.输出香港回归那一天是星期几
     * 1997.7.1
     */
    package com.class1114;
    
    import java.util.Calendar;
    
    public class Test2 {
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    
    		Calendar c=Calendar.getInstance();
    		c.set(1997, 6, 1);
    		int d=c.get(Calendar.DAY_OF_WEEK)-1;
    		System.out.println("香港回归那天是星期"+d);
    	}
    
    }
    

      

    /*
     * 3.输出新中国成立和澳门回归相差多少天
     * 1949.10.1;1999.12.20
     */
    package com.class1114;
    
    import java.util.Calendar;
    
    public class Test3 {
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    
    		Calendar c1=Calendar.getInstance();
    		c1.set(1949, 9, 1);
    		Calendar c2=Calendar.getInstance();
    		c2.set(1999, 11, 20);
    		
    		long l1=c1.getTime().getTime();
    		long l2=c2.getTime().getTime();
    		long i=(l2-l1)/1000/60/60/24;
    		System.out.println(l1);
    		System.out.println(l2);
    		System.out.println("新中国成立和澳门回归相差"+i+"天");
    	}
    
    }
    

      

    /*
     *4.输出今年双十一的三天前是星期几
     */
    package com.class1114;
    
    import java.util.Calendar;
    
    public class Test4 {
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    
    		Calendar c=Calendar.getInstance();
    		c.set(2017, 10, 11);
    		c.add(Calendar.DATE, -3);
    		System.out.println(c.get(Calendar.DAY_OF_WEEK)-1);
    	}
    
    }
    

      

    /*
     * 5.输入年份月份,打印输出这个月的月历 格式如下
    一	二	三	四	五	六	日
    		1	2	3	4	5
    6	7	8	9	10	11	12
    13	14	15	16	17	18	19
    20	21	22	23	24	25	26
    27	28
     */
    package com.class1114;
    
    import java.util.Calendar;
    import java.util.Scanner;
    
    public class Test5 {
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    
    		Scanner sc=new Scanner(System.in);
    		System.out.println("请输入某年:");
    		int year=sc.nextInt();
    		System.out.println("请输入某月:");
    		int month=sc.nextInt();
    		
    		Calendar c=Calendar.getInstance();
    		c.set(year, month-1, 1);
    	
    		System.out.println("一"+"	"+"二"+"	"+"三"+"	"+"四"+"	"+"五"+"	"+"六"+"	"+"日");
    	    int j=1;
    	    //输出空格
    	    if(c.get(Calendar.DAY_OF_WEEK)==1){
    	    	for(int i=0;i<6;i++){
    	    		System.out.print("	");
    	    	}
    	    }else{
    	    	while(j<c.get(Calendar.DAY_OF_WEEK)-1){
    				System.out.print("	");
    				j++;
    			}
    	    }
    		int i=1;
    		//输出日期
    		while(c.get(Calendar.MONTH)==month-1){
    			System.out.print(i+"	");
    			c.add(Calendar.DAY_OF_MONTH, 1);
    			//换行
    			if(c.get(Calendar.DAY_OF_WEEK)-1==1){
    				System.out.println();
    			}
    			i++;
    		}	
    	}
    
    }
    

      


  • 相关阅读:
    javaApi Swagger配置
    java跨域配置
    applation.properties与applation.yml关于sql数据库连接配置的区别
    SpringBoot学习记录一
    Centos命令行报bash:.....:command not found的解决办法
    Referenced file contains errors (http://JAVA.sun.com/xml/ns/j2ee/web-app_2_5.xsd).
    C# 两种封装的区别
    此 ObjectContext 实例已释放,不可再用于需要连接的操作。
    .net MVC ajax传递数组
    正则表达式移除首部尾部多余字符
  • 原文地址:https://www.cnblogs.com/wlxslsb/p/10355642.html
Copyright © 2011-2022 走看看