我又得减肥了,眼看到夏天了。不能这么胖下午了。我觉得开始减肥。方法就是“少吃饭+多运动”!
哈哈,健康减肥法。不知道我能不能坚持。但愿吧!给自己加油。
[@more@]
我又得减肥了,眼看到夏天了。不能这么胖下午了。我觉得开始减肥。方法就是“少吃饭+多运动”!
哈哈,健康减肥法。不知道我能不能坚持。但愿吧!给自己加油。
[@more@]
hiding from the rain and snow 藏身于雨雪之中
trying to forget but i won t let go 努力忘记,但我怎能就这样离去
looking at a crowded street 看着熙熙攘攘的街道
listening to my own heart beat 却只能听见自己的心跳
so many people 这么多的人
all around the world 在世界上
tell me where do i find 请告诉我在哪里可以找到
someone like you girl 像你一样的女孩
take me to your heart 将我留存心间
take me to your soul 与你的灵魂相伴
give me your hand before i m old 给我你的手,在我老去之前
show me what love is 问情为何物
haven t got a clue 在我们彼此离开前
show me that wonders can be true 问奇迹上演
they say nothing lasts forever 他们说没有什么可以天长地久
we re only here today 我们也能此时相守
love is now or never 现在或者永不回头
bring me far away 请带我一起远走
take me to your heart 请爱我吧
take me to your soul 与你的灵魂相伴
give me your hand and hold me 给我你的手拥我入怀
show me what love is 问情为何物
be my guiding star 让星辰照亮我路
it s easy take me to your heart 其实爱我真的很简单
standing on a mountain high 站在高山之颠
looking at the moon through a clear blue sky 看着月亮高挂于清澈的蓝天
i should go and see some friends 也许我应该去和朋友们在一起
but they don t really comprehend 但他们真的不明白我此时的心情
don t need too much talking 不需要繁琐的言语
without saying anything 甚至可以一语不发
all i need is someone 我仅仅需要
who makes me wanna sing 一个能让我欢乐而歌的人
[@more@]
还以为是我的blog出了问题,昨天把自己的blog样式改了,
还加了两个友情blog,可总是显示失败。
原来是第二天才能更新啊。哈哈
真喜欢现在的颜色,蓝色!嘻嘻。高兴…
[@more@]
今天起得依然很晚,嘻嘻。然后看了一上午的程序(确切的说是1.5个小时)。然后就头疼了。
不过现在突然没有那么烦程序了。不知道这种想法能坚持多久。
现在是午休时间,就跑到这里来转转,呵呵。
看到Javor的blog坚持的那么好,我也不能落后,至少要记录一下我的日常生活。呵呵
对了,我们的网站已经快诞生了。期待…
[@more@]
昨天晚上跟王威一起骑车去练瑜伽。我们到了健身房,已经有很多人了。我们给自己找了一个合适的位置,然后开始做准备活动。
练习的时候,真是无比痛苦,全身每一个部分都要被拉伸一遍。我觉得最痛苦的就是要用自己的胳膊支撑整个身体,当时我就想:我怎么这么重啊:(
哈哈,不过还是挺好玩的。练习完毕我们又骑车回家,洗澡,看电视,睡觉。一个晚上过得很愉快,很充实。真喜欢这样轻松自在的生活…
[@more@]
好久不怎么用Photoshop了,不知从什么时候起Photoshop的字体的位置已经不是Windows的Fonts文件夹了,而放在这里:
Program Files/Common Files/Adobe/Fonts
[@more@]
对一个ArrayList排序,因为ArrayList里面的对象可能为null,这样,当一个对象与另外一个null对象比较的时候,不应该返回0
原始程序简化为下面的程序:
ArrayList list = new ArrayList();
list.add("1");
list.add("10");
list.add("6");
list.add(null);
list.add("5");
list.add("23");
list.add("6");
Comparator comparator = new Comparator() {
public int compare(Object obj1, Object obj2) {
String adID1 = (String) obj1;
String adID2 = (String) obj2;
if (adID1 == null) {
//return 0;
return 1;
}
if (adID2 == null) {
//return 0;
return -1;
}
int ad1 = Integer.parseInt(adID1);
int ad2 = Integer.parseInt(adID2);
return ad2-ad1;
}
};
Collections.sort(list, comparator);
for(int i=0;i<list.size() ; i++)
System.out.println(list.get(i));
如果返回值为零,结果为:10,6,1,null,23,6,5
如果返回值为1和-1,结果为:23,10,6,6,5,null
原因一想便知
[@more@]
好久没来了,几乎都忘了这里了。因为今天看了javor的blog,顺便友情链接到了我自己的blog上,呵呵。真是有趣!
今天是我们中期检查的日子,所以晚上可以很轻松的来这里玩玩。虽然,平时也没干什么正事。但是今天可以光明正大心安理得的做些没用的事情。
哎!好像就是在混日子。真是没意思!活着没意思
[@more@]
一.已知一个类的名字及其class文件,如何使用此类?
1.如果此类位于一个已打包的jar文件中,按如下方法调用:
URL url = new URL("file:/E:/Work/Projects/Output/FrameWork.jar");
URLClassLoader ul = new URLClassLoader(new URL[]{url});
Class aClass = ul.loadClass("com.hdpan.exercise.loader.ProduceObject");
Object obj = aClass.newInstance();
注意的是URLClassLoader.loadClass()方法的参数要包括package的名字,例如这里面如果写成ProduceObject就是错误的。
2.如果此类是一个class文件,位于一个文件夹中,按如下方法调用:
首先要确认的是class的package的名字与目录名应该一致。
URL url = new URL("file:/E:/Work/Projects/FrameWork/bin");
URLClassLoader ul = new URLClassLoader(new URL[]{url});
Class aClass = ul.loadClass("com.hdpan.exercise.loader.ProduceObject");
Object obj = aClass.newInstance();
这里面的URL的路径指到package名的上一层目录位置,例如这里如果写成file:/E:/Work/Projects/FrameWork/bin/com/hdpan/exercise/loader就是错误的
Class这个类中还有许多的get方法可以使用。
二.如何打印class中的所有方法?
Method[] md = aClass.getDeclaredMethods();
for (int i = 0; i < md.length; i++){
System.out.println(md[i].getName());
}
md[i].getModifiers();
md[i].getReturnType();
md[i].getParameterTypes();
md[i].getExceptionTypes();
Method这个类中还有许多的属性可以get得到。
如果有两个方法的Name是一样的,但是参数不一样:
Method md = aClass.getMethod("setField1",new Class[]{Integer.TYPE});
第一个参数是方法的名字,第二个参数是一个数组,如果是基本数据类型的话,使用其外覆类的类型,例如int使用Integer.Type,float使用Float.Type
例如,如果类中是这样的定义的:
public void setField1(int field1,String info) {
this.field1 = field1;
System.out.println(info);
}
那么在使用的时候:
Method md = clas.getMethod("setField1",new Class[]{Integer.TYPE,String.class});
三.如何调用class中的方法?
调用方法:
Object obj = aClass.newInstance();
Method mds = aClass.getMethod("setField1",new Class[]{Integer.TYPE});
mds.invoke(obj,new Object[]{new Integer(5)});
对invoke方法,第一个参数是方法所在的对象,如果方法是static的,那么此处可以是null,如果方法不是static的,但是此处是Null的话将会出现NullPointerException
第二参数是方法所需要的参数的对象数组,如果是基本数据类型的话,使用其外覆类的类型,例如int使用Integer.Type,float使用Float.Type
例如,如果类中是这样的定义的::
public void setField1(int field1,String info) {
this.field1 = field1;
System.out.println(info);
}
那么在使用的时候:
Object obj = aClass.newInstance();
Method md = aClass.getMethod("setField1",new Class[]{Integer.TYPE,String.class});
md.invoke(obj,new Object[]{new Integer(5),"This is a Test"});
如果想取得方法的返回值:
public int getField1() {
return field1;
}
那么在使用的时候:
mds = aClass.getMethod("getField1",null);
Integer integer = (Integer)mds.invoke(obj,null);
System.out.println(integer.intValue());
Method方法返回的类型是Object,根据具体的方法返回值类型,将其下溯到具体的类型。
源程序:
ProduceObject.java
=================================
//ProduceObject.java开始
package com.hdpan.exercise.loader;
public class ProduceObject {
public int getField1() {
return field1;
}
public void setField1(int field1) {
this.field1 = field1;
}
public void setField1(int field1,String info) {
this.field1 = field1;
System.out.println(info);
}
public static double getField2() {
return field2;
}
public static void setField2(double field2) {
ProduceObject.field2 = field2;
}
private int field1;
private static double field2;
public static void main(String[] args) {
}
}
//ProduceObject.java结束
=========================
TestLoader.java
=========================
//TestLoader.java开始
package com.hdpan.exercise.loader;
import java.lang.reflect.Method;
import java.net.URL;
import java.net.URLClassLoader;
public class TestLoader {
public static void main(String[] args) throws Exception {
try {
//URL url = new URL("file:/E:/Work/Projects/Output/FrameWork.jar");
URL url = new URL("file:/E:/Work/Projects/FrameWork/bin/com/hdpan/exercise/loader");
URLClassLoader ul = new URLClassLoader(new URL[]{url});
//Class clas = ul.loadClass("ProduceObject");
Class aClass = ul.loadClass("com.hdpan.exercise.loader.ProduceObject");
Object obj = aClass.newInstance();
Method mds = aClass.getMethod("setField1",new Class[]{Integer.TYPE,String.class});
mds.invoke(obj,new Object[]{new Integer(5),"haha"});
mds = aClass.getMethod("getField1",null);
Integer integer = (Integer)mds.invoke(obj,null);
System.out.println(integer.intValue());
//System.out.println(((com.hdpan.exercise.loader.ProduceObject)obj).getField1());
Method[] md = aClass.getDeclaredMethods();
for (int i = 0; i < md.length; i++){
System.out.println(md[i].getName());
}
} catch (Exception e) {
System.out.println(e);
}
}
}
//TestLoader.java开始
===================================
[@more@]