- 浏览: 343468 次
- 性别:
- 来自: 杭州
最新评论
-
随风逐云:
两个===
JS中的=,==,=== -
cike8899:
正在想这个问题,看到了你的回答,谢谢!
数组与可变参数 -
bendan123812:
我不知道网上这类maven+jetty热部署是怎么来的,好多人 ...
maven web项目配置jetty热部署 -
rambolovepanda:
个人还是比较喜欢 sass语法 不需要{ 更接近ruby ...
sass技术中后缀名.sass和.scss的区别与个人推荐 -
Horse_Chasing:
可不可以自己独立配置插件的方法,不要放在plugins文件夹里 ...
eclipse添加jqueryWTP插件使用jQuery
文章列表
看一个程序:
import java.lang.Integer;
public class Hello
{
public static void main(String[] args)
{
int a = 1000, b = 1000;
System.out.println(a == b);
Integer c = 1000, d = 1000;
System.out.println(c == d);
Integer e = 100, f = 100;
System.out.printl ...
如果提取的时间格式是:1.yyyy-mm-dd型的,先将格式转化为:2.yyyy/mm/dd型,再转化为date型进行比较。假如现在有1类型的时间begin,end两个要进行比较:
var beginDate = Date.parse(begin.replace(/-/g,"/"));
var endDate = Date.parse(end.replace(/-/g,"/"));
if(beginDate - endDate > 0) {
//处理beginDate大于endDate情况的操作
} else if(beginDate - e ...
两个Date类型的变量可以通过compareTo方法来比较。此方法的描述是这样的:如果参数 Date 等于此 Date,则返回值 0;如果此 Date 在 Date 参数之前,则返回小于 0 的值;如果此 Date 在 Date 参数之后,则返回大于 0 的值。
实际上比较的是自1970 年 1 月 1 日 00:00:00 GMT以来的毫秒数。毫秒数越大的时间越大。
如:
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java. ...
在非静态内部类的方法中访问某个变量时,系统优先在该方法内查找是否存在该名字的局部变量,如果存在则用此局部变量;若不存在,则到该方法的内部类查找是否存在该名字的属性,若存在则用此属性;若还不存在,则到此内部类所在的外部类中进行查找,若存在,则取用,否则,报异常。
public class InnerTest {
private int i = 2;
private class InnerClass {
private int i = 1;
public void say() {
int i = 0;
System.out.println(i);
...
java类的访问权限设置只能是默认或者public修饰,一个文件中只能有一个public类,且文件名必须与文件名一致。但内部类跟这个是有区别的,内部类可以看成外部类的一个成员变量,内部类和其他成员变量一样,可以有private,default,protected,private这4个权限修饰符进行权限控制。
接口与抽象类。
接口更适用于一个规范,定义一个规范,然后实现此接口的类都遵循这个接口的规范。
抽象类更适用于定义一个模板,抽象类实现子类的通用的地方,留下特殊的让子类各自实现。
接口和抽象类在选择的时候应尽量符合自己的长处,接口定义规范,抽象类定义模板。
这样才能写出更为高效的代码。
接口可以继承多个接口。
final修饰的变量分为基本类型和引用类型。两者最大的差别在于可操作性。
当用final修饰了一个基本类型时,如果这个变量是局部变量,则这个变量不必马上就初始化:
public static void main(String[] args) {
final int a;
a = 1;
System.out.println();
}
一旦初始化后就不能进行修改了。
当此变量是引用类型时,也是不可修改的,但可以对对象进行操作:
public class FinalTest {
public static void main(String[] args) ...
java语言3大特征之一——多态。
多态为开发提供了很多的便利,为可扩展性提供很大的支持。
public enum Sex {
MALE,FEMALE;
}
Person类:
public class Person {
private String name;
private int age;
public Person() {
}
public Person(String name, int a ...
java对象的创建其实不是完全依赖构造器的,其实在构造器执行前就已经创建好对象了,因为在构造器中可以调用this对象。
java中没有引用传递的概念。
基本类型肯定是值传递了,所以在方法中的修改不会对值产生任何影响。
如:
public class SwapNum {
/**
* @param args
*/
public static void main(String[] args) {
int a = 1;
int b = 3;
System.out.println("a:" + a + "b:" + b);
swap(a, b);
System.out.println("a:" + a + &q ...
以前很多java入门书籍在讲解java环境配置的时候都要配置dtjar和tools.jar的classpath变量,其实到了jdk 1.5以后,系统自动会加载这两个包,所以即使我们不用配置这两个包的classpath,也是完全没有问题的。
一旦我们设定了classpath,jre就会根据这个配置来进行搜索java文件。在指定classpath别忘了加上“.”这个路径,代表当前路径,不然会出现找不到的情况。
java配置:
右击我的电脑(计算机)——>属性——>高级——>环境变量——>添加
JAVA_HOME:jdk安装路径
path:%JAVA_HOME%/bin
junit这个自动测试工具,是很好用的。但有个地方需要注意,就是assertEquals(Long,Long)时,不能直接传递如:1L等,需要用new Long(1)来进行传递,或者用变量传递。这个应该是自动拆箱和装箱的原因。
java方法可以重载,通过参数列表的不同进行分辨,但是可变参数的方法和确定参数的方法一起时,调用的是什么方法呢?通过程序可以看到:
public class TestArgs {
public static void say(String str) {
System.out.println(str);
System.out.printl ...
List也可以取她的子List,方法是subList(int fromIndex, int toIndex),根据文档,subList包括fromIndex,但不包括toIndex。
如:
List l1 = l.subList(1,3);
得到的是l中的第2个和第3个元素。
java中有+=运算符。
比如
a += b
表示
a = a + b;
大多数情况下是成立的,但是有个例子就不相等了。
short s1 = 1;
s1 = s1 + 1;
编译时就会出错。因为s1 + 1的类型是int型,赋值给short型的s1就会出现转型错误,要进行转型操作。
但
short s1 = 1;
s1 += 1;
就不会发生那种错误,编译器会对他进行特殊处理。因此编译不会出错。