Java 之常用API(二)
- Object类 & System类
- 日期相关类
- 包装类 & 正则表达式
Object类 & System类
1.1 Object类
1.1.1 概述
Object类是Java语言中的根类,即所有类的父类。它中描述的所有方法子类都可以使用。所有类在创建对象的时候,最终找的父类就是Object。
在Object类众多方法中,我们先学习equals方法与toString方法,其他方法后面课程中会陆续学到。
1.1.2 获取字节码对象的方式
1.通过Object类的getClass()方法获取
2.通过类名调用属性class来获取
3. 通过Class类的静态方法forName()来获取
1.1.2.1 案例代码一:
package com.gao_01; public class Teacher {
private String name;
private int age;
public Teacher() {
super();
// TODO Auto-generated constructor stub
}
public Teacher(String name, int age) {
super();
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
} package com.itheima_01;
/*
* 获取字节码对象的方式
*
* 反射
*/
public class ClassDemo {
public static void main(String[] args) throws ClassNotFoundException {
//方式1 通过Object类的getClass()方法获取
Teacher t = new Teacher();
Class clazz = t.getClass();
//System.out.println(clazz);//包含了全路径的类名 //方式2 通过类名调用属性class来获取
Class clazz2 = Teacher.class; //方式3 通过Class类的静态方法forName()来获取
Class clazz3 = Class.forName("com.itheima_01.Teacher"); //System.out.println(clazz == clazz2);
//System.out.println(clazz == clazz3); Teacher t2 = new Teacher();
System.out.println(t.getClass() == t2.getClass()); }
}
1.1.3 toString()方法
toString () 返回该对象的字符串表示
由于toString方法返回的结果是内存地址,而在开发中,经常需要按照对象的属性得到相应的字符串表现形式,因此也需要重写它。
1.1.3.1 案例代码二:
package com.gao_01;
/*
* String toString() : 返回该对象的字符串表示
* return getClass().getName() + "@" + Integer.toHexString(hashCode());
* getClass():返回一个字节码对象
* Integer.toHexString():返回指定参数的十六进制字符串形式
* hashCode():返回该对象的哈希码值(内部地址)
*
*
*
* boolean equals(Object obj)
*
*/
public class ObjectDemo {
public static void main(String[] args) {
Student s = new Student();
s.name = "zhangsan";
s.age = ;
System.out.println(s.toString());//com.itheima_01.Student@737951b0
System.out.println(s);//说明我们输出一个对象就是默认输出这个对象的toString()方法
}
} class Student extends Object {
String name;
int age;
/*
public String toString() {
return name + "@" + age;
}
*/ @Override
public String toString() {
return "Student [name=" + name + ", age=" + age + "]";
}
}
1.1.4 equals()方法
equals(Object obj) 指示其他某个对象是否与此对象“相等”。
equals方法,用于比较两个对象是否相同,它其实就是使用两个对象的内存地址在比较。Object类中的equals方法内部使用的就是==比较运算符。
在开发中要比较两个对象是否相同,经常会根据对象中的属性值进行比较,也就是在开发经常需要子类重写equals方法根据对象的属性值进行比较。
1.1.4.1 案例代码三:
package com.gao_01;
import java.util.ArrayList; /*
* boolean equals(Object obj)
* 使用==来比较两个对象是否相等,则比较地址值是否相等
*/
public class ObjectDemo2 {
public static void main(String[] args) {
Person p = new Person("zhangsan",);
Person p2 = new Person("zhangsan",); //boolean flag = p.equals(p2); boolean flag = p.equals(new ArrayList());
System.out.println(flag);
}
} class Person {
String name;
int age; public Person(String name,int age) {
this.name = name;
this.age = age;
} @Override
public boolean equals(Object obj) {
//提高效率
if (this == obj)
return true; if (obj == null)
return false;
//提高健壮性
if (getClass() != obj.getClass())
return false; //向下转型
Person other = (Person) obj; if (age != other.age)
return false;
if (name == null) {
if (other.name != null)
return false;
} else if (!name.equals(other.name))
return false;
return true;
} /*@Override
public boolean equals(Object o) {
//提高效率 当前对象和传递进来的对象地址值一样,则不用比较成员
if(this == o) {
return true;
} //提高代码的健壮性
if(this.getClass() != o.getClass()) {
return false;
} //向下转型
Person other = (Person) o; if(!this.name.equals(other.name)) {
return false;
} if(this.age != other.age) {
return false;
} return true;
}*/
}
1.2 System类
System 类包含一些有用的类字段和方法。它不能被实例化。
1.2.1 成员方法
static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length) :
从src源数组的srcPos索引开始,复制length个元素
从destPost位置开始将这些元素放至到dest数组中
static long currentTimeMillis()
返回以毫秒为单位的当前时间
static void exit(int status)
终止当前正在运行的 Java 虚拟机
1.2.2 案例代码四:
package com.gao_02;
/*
* System:包含一些有用的类字段和方法。它不能被实例化。
* static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
* 复制数组
* static long currentTimeMillis()
* 返回当前系统时间
* static void exit(int status)
* 终止虚拟机的运行
*
*
*
* 系统
*
*/
public class SystemDemo {
public static void main(String[] args) {
//method();
//method2(); //static void exit(int status)
for (int i = ; i < ; i++) {
System.out.println(i); if(i == ) {
System.exit();
} } } private static void method2() {
/*
* static long currentTimeMillis() :以毫秒值返回当前系统时间(1970-1-1 0:0:0至今过了多少毫秒)
* 1000毫秒 = 1秒
* 相对于1970-1-1 0:0:0
* 如果系统时间1970-1-1 0:0:0 0
* 如果系统时间1970-1-1 0:0:1 1000
* 如果系统时间1970-1-1 0:1:0 1000 * 60
* 如果系统时间1970-1-1 1:1:0 1000 * 60 * 60 + 1000 * 60
*/ //long now = System.currentTimeMillis();
//System.out.println(now); long start = System.currentTimeMillis();
for (int i = ; i < ; i++) {
System.out.println("hello world");
}
long end = System.currentTimeMillis();
System.out.println(end - start);
} private static void method() {
/*
* static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
* 数据源和目的地
*
* src:源数组
* srcPos:指定从哪个索引位置开始复制 1
* dest:目标数组
* destPos:指定目标数组接收元素的索引位置
* length:目标数组接收元素的个数
*/ //源数组
int[] src = {,,,,};
//目标数组
int[] dest = new int[]; System.arraycopy(src, , dest, , ); //遍历目标数组
for (int i = ; i < dest.length; i++) {
System.out.print(dest[i]);
} //00000 --- 12345
//00000 --- 12300
//00000 --- 34500
} }
日期相关类
2.1 Date类
Date: 表示特定的瞬间,精确到毫秒,他可以通过方法来设定自己所表示的时间,可以表示任意的时间
2.1.2 案例代码五:
package com.gao_03; import java.util.Date; /*
* Date: 表示特定的瞬间,精确到毫秒,他可以通过方法来设定自己所表示的时间,可以表示任意的时间
* System.currentTimeMillis():返回的是当前系统时间,1970-1-1至今的毫秒数
*
* 构造方法:
* Date() :创建的是一个表示当前系统时间的Date对象
Date(long date) :根据"指定时间"创建Date对象 */
public class DateDemo {
public static void main(String[] args) {
//Date()
//Date d = new Date();
//System.out.println(d);//Thu Aug 26 14:17:28 CST 2049
//System.out.println(d.toLocaleString()); //Date(long date)
Date d2 = new Date( * * * );//时区 有时差
System.out.println(d2.toLocaleString()); }
}
2.1.3 Date类常用方法
void setTime(long time)
long getTime()
2.1.4 案例代码六:
package com.gao_03; import java.util.Date; /*
* Date的常用用方法
毫秒值 --- Date
设置
返回值是void,参数long
void setTime(long time)
Date(long date)
Date --- 毫秒值
获取
返回long,无参数
long getTime()
*/
public class DateDemo2 {
public static void main(String[] args) {
Date d = new Date();//默认当前系统时间
//d.setTime(1000 * 60 * 60 * 24 * 2);
System.out.println(d.toLocaleString());
System.out.println(d.getTime());// d.setTime(172800000L);
System.out.println(d.toLocaleString());
}
}
2.2 DateFormat类 & SimpleDateFormat
DateFormat 是日期/时间格式化子类的抽象类,它以与语言无关的方式格式化并解析日期或时间。日期/时间格式化子类(如 SimpleDateFormat类)允许进行格式化(也就是日期 -> 文本)、解析(文本-> 日期)和标准化。
我们通过这个类可以帮我们完成日期和文本之间的转换。
继续阅读API,DateFormat 可帮助进行格式化并解析任何语言环境的日期。对于月、星期,甚至日历格式(阴历和阳历),其代码可完全与语言环境的约定无关。
2.2.1 DateFormat&SimpleDateFormat的常用方法
要格式化一个当前语言环境下的日期也就是日期 -> 文本),要通过下面的方法来完成。DateFormat是抽象类,我们需要使用其子类SimpleDateFormat来创建对象。
A:SimpleDateFormat构造方法
SimpleDateFormat() 用默认的模式和默认语言环境的日期格式符号构造
SimpleDateFormat(String pattern)用给定的模式和默认语言环境的日期格式符号构造
B:DateFormat类方法
format(Date date) 将一个Date格式化为日期/时间字符串
parse(String source)从给定字符串的开始解析文本,以生成一个日期。
2.2.2 案例代码七:
package com.gao_04; import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date; /*
* SimpleDateFormat:
* 格式化:
* Date --- String
* 2049-8-26 2049年8月26日
* String format(Date date)
* 解析:
* String --- Date
* "2049-8-26"
* Date parse(String source)
*
* 构造方法:
* SimpleDateFormat() :使用默认的模式进行对象的构建
* SimpleDateFormat(String pattern) :使用的指定的模式进行对象的构建
*
* 注意:Exception in thread "main" java.text.ParseException: Unparseable date: "49年9月26日 下午1:29"
* 解析的字符串,模式必须和构建对象的模式一样
*
*/
public class SimpleDateFormatDemo {
public static void main(String[] args) throws ParseException {
//method();
//method2();
//使用指定的模式进行对象的构建
//1999年9月1日 10:10:10
//4个小姨2个大美眉和2个小弟弟
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss"); //格式化
Date date = new Date();
String s = sdf.format(date);
System.out.println(s);//2049年08月26日 13:39:12 //解析
Date d = sdf.parse("2049年08月26日 13:39:12");
System.out.println(d.toLocaleString()); } private static void method2() throws ParseException {
//使用指定的模式进行对象的构建
//1999年9月1日
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日");
//格式化
Date date = new Date();
String s = sdf.format(date);
System.out.println(s);//2049年08月26日 //解析
Date d = sdf.parse("2049年08月26日");
System.out.println(d.toLocaleString());
} private static void method() throws ParseException {
//使用默认模式进行对象的构建
SimpleDateFormat sdf = new SimpleDateFormat();
//创建日期对象
Date date = new Date(); //格式化 把日期对象转换成字符串
String s = sdf.format(date);
System.out.println(s);//49-8-26 下午1:29 //解析 把字符串转换成日期对象
Date d = sdf.parse("49年9月26日 下午1:29");
System.out.println(d.toLocaleString());
} }
2.2.3 案例代码八:
package com.gao_04; import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date; /*
* 需求:求出你来这个世界上多少天
*/
public class SimpleDateFormatTest {
public static void main(String[] args) throws ParseException {
//出生日期
String birthday = "1998-01-01";
//今天日期
String now = "2000-01-01"; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
//将字符串转换成日期对象
Date d1 = sdf.parse(birthday);
Date d2 = sdf.parse(now); //将日期对象转换成long类型
long l = d1.getTime();
long l2 = d2.getTime(); System.out.println((l2 - l) / / / / ); }
}
2.3 Calendar类
2.3.1 Calendar类概述
Calendar是日历类,在Date后出现,替换掉了许多Date的方法。该类将所有可能用到的时间信息封装为静态成员变量,方便获取。
Calendar为抽象类,由于语言敏感性,Calendar类在创建对象时并非直接创建,而是通过静态方法创建,将语言敏感内容处理好,再返回子类对象,如下:
Calendar类静态方法
getInstance() 使用默认时区和语言环境获得一个日历。
Calendar c = Calendar.getInstance(); //返回当前时间
2.3.2 Calendar 类常用方法
2.3.3 案例代码九:
package com.gao_05; import java.util.Calendar; /*
* Calendar:日历,提供了一些操作年月日时的方法
*
* 获取
* 修改
* 添加
*
*
*/
public class CalendarDemo {
public static void main(String[] args) {
//static Calendar getInstance()
Calendar c = Calendar.getInstance(); //void set(int field, int value) :把指定的字段修改成指定的值
//c.set(Calendar.DAY_OF_MONTH, 20); //void add(int field, int amount): 在指定的字段上加上指定的值
c.add(Calendar.DAY_OF_MONTH, -); //int get(int field) // 返回给定日历字段的值
//public static final int YEAR 1
//System.out.println(Calendar.YEAR); //int year = c.get(1);
int year = c.get(Calendar.YEAR);
int month = c.get(Calendar.MONTH) + ;
int day = c.get(Calendar.DAY_OF_MONTH); System.out.println(year + "年" + month + "月" + day + "日"); }
}
包装类 & 正则表达式
3.1 包装类
在实际程序使用中,程序界面上用户输入的数据都是以字符串类型进行存储的。而程序开发中,我们需要把字符串数据,根据需求转换成指定的基本数据类型,如年龄需要转换成int类型,考试成绩需要转换成double类型等。那么,想实现字符串与基本数据之间转换怎么办呢?
Java中提供了相应的对象来解决该问题,基本数据类型对象包装类:java将基本数据类型值封装成了对象。封装成对象有什么好处?可以提供更多的操作基本数值的功能。
8种基本类型对应的包装类如下:
其中需要注意int对应的是Integer,char对应的Character,其他6个都是基本类型首字母大写即可。
3.2 包装类的常用方法
3.2.1 案例代码十:
package com.gao_06;
/*
* 需求:判断一个数是否符合int类型的范围
* 由于基本数据类型只能做一些简单的操作和运算,所以Java为我们封装了基本数据类型,为每种基本数据类型提供了包装类
* 包装类就是封装了基本数据类型的类,为我们提供了更多复杂的方法和一些变量
*
* byte Byte
* short Short
* char Character
* int Integer
* long Long
* float Float
* double Double
* boolean Boolean
*
* Integer:
* String --- int
* 方式1:int intValue()
* 方式2: static int parseInt(String s)
* int --- String
* 方式1: + ""
* 方式2:String toString()
*
* 构造方法:
* Integer(int value)
* Integer(String s) */
public class IntegerDemo {
public static void main(String[] args) {
/*int n = 10;
if(n >= Math.pow(-2, 31) && n <= Math.pow(2, 31) -1) {
System.out.println("符合");
}
else {
System.out.println("不符合");
}*/ Integer i = new Integer("");
System.out.println(i); int a = i.intValue();
System.out.println(a + ); int b = Integer.parseInt("");
System.out.println(b + ); Integer i2 = new Integer();
String s = i2.toString();
System.out.println(s); String s2 = Integer.toString();
System.out.println(s2); }
}
3.3 包装类的自动装箱与拆箱
在需要的情况下,基本类型与包装类型可以通用。有些时候我们必须使用引用数据类型时,可以传入基本数据类型。
比如:
基本类型可以使用运算符直接进行计算,但是引用类型不可以。而基本类型包装类作为引用类型的一种却可以计算,原因在于,Java”偷偷地”自动地进行了对象向基本数据类型的转换。
相对应的,引用数据类型变量的值必须是new出来的内存空间地址值,而我们可以将一个基本类型的值赋值给一个基本类型包装类的引用。原因同样在于Java又”偷偷地”自动地进行了基本数据类型向对象的转换。
自动拆箱:对象转成基本数值
自动装箱:基本数值转成对象
3.3.1 案例代码十一:
package com.gao_06;
import java.util.ArrayList;
/*
* JDK1.5特性:自动装箱和拆箱
*
*/
public class IntegerDemo2 {
public static void main(String[] args) {
//Integer i = new Integer(10); //自动装箱
//相当于: Integer i = new Integer(10);
//Integer i = 10; //自动拆箱
//相当于 int a = i.intValue();
//Integer i = 10;
//int a = i; Integer i = ;
Integer i2 = ;
Integer i3 = i + i2;
/*
* Integer i3 = new Integer(i.intValue() + i2.intValue());
*
*/ ArrayList list = new ArrayList();
list.add();//自动装箱,list.add(new Integer(1));
}
}
3.4 正则表达式
3.4.1 正则表达式概述
正则表达式是专门解决字符串规则匹配的工具。
正则表达式也是一个字符串,用来定义匹配规则。
参照帮助文档,在Pattern类中有简单的规则定义,可以结合字符串类的方法使用。
3.4.2 正则表达式匹配规则
参照帮助文档,在Pattern类中有正则表达式的的规则定义,正则表达式中明确区分大小写字母。我们来学习语法规则。
正则表达式的语法规则:
字符:x
含义:代表的是字符x
例如:匹配规则为 "a",那么需要匹配的字符串内容就是 ”a”
字符:\\
含义:代表的是反斜线字符'\'
例如:匹配规则为"\\" ,那么需要匹配的字符串内容就是 ”\”
字符类:[abc]
含义:代表的是字符a、b 或 c
例如:匹配规则为"[abc]" ,那么需要匹配的内容就是字符a,或者字符b,或字符c的一个
字符类:[^abc]
含义:代表的是除了 a、b 或 c以外的任何字符
例如:匹配规则为"[^abc]",那么需要匹配的内容就是不是字符a,或者不是字符b,或不是字符c的任意一个字符
字符类:[a-zA-Z]
含义:代表的是a 到 z 或 A 到 Z,两头的字母包括在内
例如:匹配规则为"[a-zA-Z]",那么需要匹配的是一个大写或者小写字母
字符类:[0-9]
含义:代表的是 0到9数字,两头的数字包括在内
例如:匹配规则为"[0-9]",那么需要匹配的是一个数字
字符类:[a-zA-Z_0-9]
含义:代表的字母或者数字或者下划线(即单词字符)
例如:匹配规则为" [a-zA-Z_0-9] ",那么需要匹配的是一个字母或者是一个数字或一个下滑线
预定义字符类:.
含义:代表的是任何字符
例如:匹配规则为" . ",那么需要匹配的是一个任意字符。如果,就想使用 . 的话,使用匹配规则"\\."来实现
预定义字符类:\d [0-9]
含义:代表的是 0到9数字,两头的数字包括在内,相当于[0-9]
例如:匹配规则为"\d ",那么需要匹配的是一个数字
预定义字符类:\w [a-zA-Z_0-9]
含义:代表的字母或者数字或者下划线(即单词字符),相当于[a-zA-Z_0-9]
例如:匹配规则为"\w ",,那么需要匹配的是一个字母或者是一个数字或一个下滑线
数量词:X?
含义:代表的是X出现一次或一次也没有
例如:匹配规则为"a?",那么需要匹配的内容是一个字符a,或者一个a都没有
数量词:X*
含义:代表的是X出现零次或多次
例如:匹配规则为"a*" ,那么需要匹配的内容是多个字符a,或者一个a都没有
数量词:X+
含义:代表的是X出现一次或多次
例如:匹配规则为"a+",那么需要匹配的内容是多个字符a,或者一个a
数量词:X{n}
含义:代表的是X出现恰好 n 次
例如:匹配规则为"a{5}",那么需要匹配的内容是5个字符a
数量词:X{n,}
含义:代表的是X出现至少 n 次
例如:匹配规则为"a{5, }",那么需要匹配的内容是最少有5个字符a
数量词:X{n,m}
含义:代表的是X出现至少 n 次,但是不超过 m 次
例如:匹配规则为"a{5,8}",那么需要匹配的内容是有5个字符a 到 8个字符a之间
3.4.3 案例代码十二:
package com.gao_07;
/*
* 校验qq号码
* 要求必须是5-15位
* 0不能开头
* 必须都是数字 正则表达式:就是一套规则,可以用于匹配字符串 boolean matches(String regex) :判断当前字符串是否匹配指定的正则表达式,如果匹配则返回true,否则返回false
*
*
*/
public class RegexDemo {
public static void main(String[] args) {
String qq = "12a345";
/*boolean flag = checkQQ(qq);
System.out.println(flag);*/ boolean flag = qq.matches("[1-9][0-9]{4,14}");
System.out.println(flag);
} public static boolean checkQQ(String qq) {
int length = qq.length();
//要求必须是5-15位
if(length < || length > ) {
return false;
} //0不能开头
if(qq.startsWith("")) {
return false;
} //必须都是数字
for (int i = ; i < length; i++) {
//得到参数的每一个字符
char c = qq.charAt(i);
if(c < '' || c > '') {
return false;
}
}
return true;//符合要求
}
}
3.4.4 案例代码十三:
package com.gao_07;
/*
* 判断字符串”qaq”中间的字符是否是元音
*
* aeiou
* AEIOU
*
*/
public class RegexDemo2 {
public static void main(String[] args) {
boolean flag = check2("qbq");
System.out.println(flag);
} public static boolean check(String s) {
s = s.toLowerCase(); char ch = s.charAt();
/*if(ch == 'a' || ch == 'e' || ch == 'i' || ch == 'o' || ch == 'u') {
return true;
} return false;*/ String str = "aeiou"; return str.contains(ch + "");
} public static boolean check2(String s) { return s.matches("\\w[aeiouAEIOU]\\w");
} }
3.5.4 案例代码十四:
package com.gao_07;
/*
* 切割字符串"aa,bb,cc";
切割字符串"-1 99 4 23";
切割字符串"-1 99 4 23"; String[] split(String regex) 根据给定正则表达式的匹配拆分此字符串。
*
*/
public class RegexDemo3 {
public static void main(String[] args) {
//method();
//method2();
String s = "-1 99 4 23";
String[] arr = s.split(" +");
print(arr); } private static void method2() {
String s = "-1 99 4 23";
String[] arr = s.split(" ");
print(arr);
} private static void method() {
String s = "aa,bb,cc";
String[] arr = s.split(",");
print(arr);
} public static void print(String[] arr) {
for (int i = ; i < arr.length; i++) {
System.out.println(arr[i]);
}
} }
Java 之常用API(二)的更多相关文章
- Java 之常用API(一)
常用API 1 API概述 2 Scanner类与String类 3 StringBuilder类 NO.one API概述 1.1 API概述 API(Application Programm ...
- Java之常用API
API概述 什么是API API (Application Programming Interface) :应用程序编程接口 java中的API 指的就是 JDK 中提供的各种功能的 Java类,这些 ...
- Java学习随笔---常用API(二)
Object类的toString方法 将一个对象返回为字符串形式,但一般使用的时候会覆盖重写toString方法 Object类是所有类的父亲 // public class Person { pri ...
- Java(23)常用API二
作者:季沐测试笔记 原文地址:https://www.cnblogs.com/testero/p/15228415.html 博客主页:https://www.cnblogs.com/testero ...
- java selenium常用API(WebElement、iFrame、select、alert、浏览器窗口、事件、js) 一
WebElement相关方法 1.点击操作 WebElement button = driver.findElement(By.id("login")); button.clic ...
- java selenium常用API汇总
(WebElement.iFrame.select.alert.浏览器窗口.事件.js) 一 WebElement相关方法 1.点击操作 WebElement button = driver. ...
- Java 基础 常用API (Object类,String类,StringBuffer类)
Java API Java 的API(API: Application(应用) Programming(程序) Interface(接口)) Java API就是JDK中提供给我们使用的类,这些类将底 ...
- java自学-常用api
API(Application Programming Interface),应用程序编程接口.Java API是JDK中提供给我们使用的类的说明文档.即jdk包里边写好的类,这些类将底层的代码实现封 ...
- Java的常用API
Object类 1.toString方法在我们直接使用输出语句输出对象的时候,其实通过该对象调用了其toString()方法. 2.equals方法方法摘要:类默认继承了Object类,所以可以使用O ...
随机推荐
- leetcode-64-最小路径和
题目描述: 给定一个包含非负整数的 m x n 网格,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小. 说明:每次只能向下或者向右移动一步. 示例: 输入: [ [1,3,1], [1 ...
- FlowPortal-BPM——功能:判断数据库表中字段是否重复并阻止提交或保存
一.JS添加代码,判断是否有OnSubmit事件 文件位置:YZSoft/Forms/src/Validator.js //=====判断是否有OnSubmit事件===== if (typeof ( ...
- 为了用python计算一个汉字的中心点,差点没绞尽脑汁活活累死
为了用python计算一个汉字的中心点,差点没绞尽脑汁活活累死
- Java之IO(零)总结
转载请注明原出处:http://www.cnblogs.com/lighten/p/7274378.html 1.前言 本章是对之前所讲述的整个Java的IO包的一个总结,抽出个人认为比较重要的知识点 ...
- thread 带参数
在 .NET Framework 2.0 版中,要实现线程调用带参数的方法有两种办法. 第一种:使用ParameterizedThreadStart. 调用 System.Threading.Thre ...
- 解惑《你必须知道的.net》——C#继承关系中【方发表】的创建和调用
前言: 现在正在读<你必须知道的.net>(第二版)一书,看到IL语言那一章,将call.callvirt和calli时候,书中举了一个例子,是一个三层继承的例子,我一开始看的时候就有点懵 ...
- Global Embedding 理解
1.Attention-based seq2seq e(t,i):求上一时刻的输出和这一时刻编码器的输出的相似度 a(t,i):求这个词在整个文本中占多大的比重,每个时刻都存在着一个值,这个只是求一个 ...
- docker 私有仓库的创建
1, 下载registry镜像 sudo docker pull registry 2, 启动镜像 docker run -d --name registry -h registry -p 5000: ...
- MVC下拉框Html.DropDownList 和DropDownListFor 的常用方法
一.非强类型:Controller:ViewData["AreId"] = from a in Table select ...
- github删除仓库
有的时候github的仓库创建错误了,不用了,想删除仓库 1.进入仓库,选择设置 2.拉到最下面,有一个Delete this repository删除仓库按钮,点击 3.输入需要删除的仓库的名称,直 ...