- 浏览: 194375 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
kjmmlzq19851226:
这个和排序米有关系吧
一个排好序的数组,找出两数之和为m的所有组合 -
ileson:
...
spring在web.xml中的配置
package utils;
import java.beans.BeanInfo;
import java.beans.IntrospectionException;
import java.beans.Introspector;
import java.beans.PropertyDescriptor;
import java.lang.reflect.Constructor;
import java.sql.Timestamp;
import java.util.Date;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;
import pojo.Point;
public class PropertiesUtil {
private static PropertyDescriptor[] getPropertyDescriptors(Object obj) {
BeanInfo ObjInfo;
try {
ObjInfo = Introspector.getBeanInfo(obj.getClass());
} catch (IntrospectionException e) {
return new PropertyDescriptor[0];
}
PropertyDescriptor[] propertyDesc = ObjInfo.getPropertyDescriptors();
return propertyDesc;
}
public static void mapToPojo(Map map, Object obj) {
PropertyDescriptor[] propertyDesc = getPropertyDescriptors(obj);
for (int i = 0; i < propertyDesc.length; i++) {
if (propertyDesc[i].getName().compareToIgnoreCase("class") == 0)
continue;
String strValue = (String) map.get(propertyDesc[i].getName());
Object value = parseObject(strValue, propertyDesc[i]
.getPropertyType());
try {
propertyDesc[i].getWriteMethod().invoke(obj, value);
} catch (Exception e) {
e.printStackTrace();
}
}
}
public static void pojoToMap(Object obj, Map map) {
PropertyDescriptor[] propertyDesc = getPropertyDescriptors(obj);
for (int i = 0; i < propertyDesc.length; i++) {
if (propertyDesc[i].getName().compareToIgnoreCase("class") == 0)
continue;
String key = propertyDesc[i].getName();
try {
map.put(propertyDesc[i].getName(), propertyDesc[i]
.getReadMethod().invoke(obj));
} catch (Exception e) {
e.printStackTrace();
}
}
}
public static Object parseObject(String fromObj, Class toClass) {
Object objReturn = null;
if (fromObj.equals("")) {
return objReturn;
}
String toClassName = toClass.getName();
if (fromObj.getClass().getName().equals(toClassName)) {
objReturn = fromObj;
} else if ("java.util.Date".equals(toClassName)) {
objReturn = JavaBeanDateUtil.toDate(fromObj);
} else if ("java.util.Calendar".equals(toClassName)) {
objReturn = JavaBeanDateUtil.toCalendar(fromObj);
} else if ("java.sql.Date".equals(toClassName)) {
objReturn = new Date(JavaBeanDateUtil.toDate(fromObj).getTime());
} else if ("java.sql.Time".equals(toClassName)) {
objReturn = new Timestamp(JavaBeanDateUtil.toDate(fromObj)
.getTime());
} else if ("java.sql.Timestamp".equals(toClassName)) {
objReturn = new Timestamp(JavaBeanDateUtil.toDate(fromObj,
"yyyy-MM-dd HH:mm:ss.SSS").getTime());
} else if ("java.lang.Integer".equals(toClassName)
|| "java.lang.Long".equals(toClassName)
|| "java.lang.Double".equals(toClassName)
|| "java.lang.Float".equals(toClassName)
|| "java.math.BigDecimal".equals(toClassName)
|| "java.lang.Short".equals(toClassName)) {
try {
Constructor constructor = toClass
.getConstructor(new Class[] { java.lang.String.class });
objReturn = constructor.newInstance(new Object[] { fromObj });
} catch (Exception e) {
e.printStackTrace();
}
} else {
throw new IllegalArgumentException("toClassName= " + toClassName
+ ", unsupported");
}
return objReturn;
}
public static String fieldToDbColum(String field) {
StringBuilder toField = new StringBuilder("");
for (int i = 0; i < field.length(); i++) {
char c = field.charAt(i);
if ('A' <= c && c <= 'Z') {
toField.append("_").append(String.valueOf(c).toLowerCase());
} else
toField.append(c);
}
return toField.toString();
/*
StringBuilder toField = new StringBuilder(field);
int j = 0;
for (int i = 0; i < field.length(); i++) {
char c = field.charAt(i);
if ('A' <= c && c <= 'Z') {
toField.insert(i + j, "_");
j++;
}
}
return toField.toString().toLowerCase();
*/
}
public static void main(String[] args) throws Exception {
Map map = new HashMap();
map.put("x", "100");
map.put("y", "100");
Point p = new Point();
mapToPojo(map, p);
System.out.println("横坐标:" + p.getX() + "\t纵坐标:" + p.getY());
Map map2 = new HashMap();
pojoToMap(p, map2);
for (Iterator iterator = map2.entrySet().iterator(); iterator.hasNext();) {
Entry en = (Entry) iterator.next();
System.out.println(en.getKey() + "=" + en.getValue());
}
String field = "aaaBbbbbCc";
System.out.println(fieldToDbColum(field));
}
}
public class JavaBeanDateUtil {
public static final String defaultDatePattern = "yyyy-MM-dd";
public static final String defaultDateTimePattern = "yyyy-MM-dd HH:mm:ss";
public static final String defaultTimestampPattern = "yyyy-MM-dd HH:mm:ss.SSS";
public JavaBeanDateUtil() {
}
public static String dateFormat(Object dateObj) {
return dateFormat(dateObj, null);
}
public static String dateFormat(Object dateObj, String pattern) {
SimpleDateFormat sdf = new SimpleDateFormat(pattern == null ? defaultDatePattern : pattern, Locale.CHINA);
if (dateObj == null) {
return null;
} else if (dateObj instanceof Date || dateObj instanceof java.util.Date) {
java.util.Date date = new java.util.Date(((Date)dateObj).getTime());
return sdf.format(date);
} else if (dateObj instanceof Calendar) {
java.util.Date date = ((Calendar)dateObj).getTime();
return sdf.format(date);
} else if (dateObj instanceof Time) {
java.util.Date date = new java.util.Date(((Time)dateObj).getTime());
return sdf.format(date);
} else if (dateObj instanceof Timestamp) {
java.util.Date date = new java.util.Date(((Timestamp)dateObj).getTime());
return sdf.format(date);
}
return null;
}
public static java.util.Date toDate(String dateStr) {
String pattern = "yyyy-MM-dd";
if (dateStr.indexOf(".") > 0) {
pattern = "yyyy-MM-dd HH:mm:ss.SSS";
} else if(dateStr.indexOf(":") > 0) {
pattern = "yyyy-MM-dd HH:mm:ss";
}
return toDate(dateStr, pattern);
}
public static java.util.Date toDate(String dateStr, String pattern) {
SimpleDateFormat sdf = new SimpleDateFormat(pattern == null ? defaultDatePattern : pattern, Locale.CHINA);
java.util.Date dateReturn = null;
try {
dateReturn = sdf.parse(dateStr);
} catch (ParseException e) {
System.out.println((new StringBuilder("unknown date format:")).append(dateStr).toString());
}
return dateReturn;
}
public static Calendar toCalendar(String dateStr) {
return toCalendar(dateStr, null);
}
public static Calendar toCalendar(String dateStr, String pattern) {
java.util.Date date = toDate(dateStr, pattern);
Calendar calendarReturn = Calendar.getInstance();
calendarReturn.setTime(date);
return calendarReturn;
}
}
发表评论
-
java对称加密算法的使用
2014-05-26 09:55 2823package utils; import java.io ... -
java使用ganymed-ssh2执行linux操作系统命令
2013-12-31 10:10 2072public static void main(Strin ... -
一个排好序的数组,找出两数之和为m的所有组合
2013-06-13 18:46 1545public static void main(Strin ... -
java中文API
2012-04-17 12:25 887http://www.oschina.net/home/api ... -
javase7官方API
2012-04-17 11:38 1134Java™ Platform, Standard Edit ... -
javase6中文API
2012-04-01 20:15 2502概述 软件包 类 使用 ... -
javase6官方API
2012-04-01 20:10 991Overview Package C ... -
java.util.concurrent官方API文档
2012-04-01 20:03 1958Overview Package C ... -
java.util.concurrent中文API
2012-04-01 19:45 1628概述 软件包 类 使用 ... -
java.util.concurrent介绍(转)
2012-04-01 19:33 1011本文由 cnblogs 博主 ... -
JDK6下开发WebService
2012-03-17 09:06 1577周末闲来无事,在家中复习了一下JDK6下开发WebServi ... -
日期正则表达式
2012-01-13 17:58 1136一、简单的 日期判断(YYYY/MM/DD):^\d{4 ... -
使用JAVA API上传文件到FTP服务器
2011-12-02 12:41 1212private void FtpUpload() throw ... -
Java发送邮件
2011-11-04 17:24 964import java.io.UnsupportedEncod ... -
POI导入Excel
2011-11-04 16:34 1215import java.beans.BeanInfo;impo ... -
使用JAVA API从FTP服务器下载文件
2011-11-04 16:28 1784import java.io.IOException; im ... -
Java读取Properties文件
2011-11-04 16:06 795使用J2SE API读取Properties文件的六种方法 ... -
java获取服务器IP
2011-10-27 12:04 1257java.net.InetAddress.getLocalHo ... -
java 获取真实客户端IP(转载)
2011-10-27 11:33 2257原文出处:http://jun-li-leo.iteye. ... -
JDBC连接字符串
2011-10-26 11:17 21421. MySQL Class.forName(&quo ...
相关推荐
本文将深入探讨如何在Java的List中对包含多个属性的对象进行排序,并且支持动态设置每个属性的排序方式。这个功能的实现是通过泛型和自定义比较器(Comparator)来完成的,对于复杂的数据排序需求具有很高的灵活性。...
这篇博文“MyBatisDemo && JAVA把一个对象的全部属性复制到另一个相同的对象”探讨的是如何在Java编程中实现对象属性的深度复制。MyBatis是一个流行的Java持久层框架,它简化了数据库操作,而对象复制则是处理业务...
在Java编程中,按对象属性排序是一个常见的需求,特别是在数据处理和数据分析的场景下。这里我们探讨的主题是如何根据对象的属性进行排序,结合提供的`Simple.java`和`User.java`文件,我们可以假设这是一个关于...
4. **映射属性**:将字段值映射到Java对象的属性。 5. **收集对象**:将所有创建的对象放入集合(如ArrayList)中。 在项目中,我们可能还需要实现反向操作,即从Java对象集合生成Excel或CSV文件。这有助于在系统...
"java对象转对象插件"旨在简化这个过程,提供了一种便捷的方式来将Java对象转换为Map、List、Set或其他对象,提高了开发效率。下面将详细介绍这个插件的工作原理、使用方法及其优势。 首先,Java对象到Map的转换是...
在Java编程语言中,对象克隆是一种创建一个与原对象具有相同数据的新对象的过程。对象克隆主要用于复制或备份对象,以便在不干扰原始对象的情况下对其进行修改或操作。本篇文章将详细探讨Java中的对象克隆及其实现...
标签中的“复制java对象”、“深度克隆”和“深度复制实例”强调了我们要关注的是Java中如何实现对象的深拷贝,并提供了实际操作的例子。在编写代码时,应该遵循良好的编程实践,包括适当的命名、注释和错误处理,以...
在本教程中,我们将深入探讨如何在Java中读取属性文件,并结合日志记录进行操作。 首先,我们需要了解如何创建一个简单的属性文件。例如,我们创建一个名为`config.properties`的文件,内容如下: ``` database....
XSD转换成Java对象的过程,也称为XML到Java对象的绑定或者XML Schema Binding,是将XML数据映射为Java类,使得程序能够方便地读取、操作和验证XML数据。这一过程在处理XML数据丰富的系统中非常常见,如Web服务或企业...
7. **匿名内部类**:即使没有显式定义子类,也可以通过匿名内部类实现子类对象赋值给父类对象的操作,这在处理接口时非常常见。 8. **多态性**:向上转型是实现多态的基础,使得我们可以使用父类引用处理不同子类...
在Java编程中,我们经常需要将XML文件的数据转换为Java对象,以便于处理和操作。Apache Commons Betwixt库提供了一种简单的方法来实现这个转换。 Apache Commons Betwixt是Apache软件基金会的一个项目,它提供了一...
类的组成包括属性(数据本身)和方法(操作数据的行为)。例如,Student类可以包含String类型的姓名、int类型的年龄、char类型的性别和double类型的成绩,以及打印学生信息的方法。 2.1 定义类的成员变量 在Java中...
Java面向对象程序设计是计算机编程领域中的核心主题,它基于面向对象编程(OOP)理念,使得代码更具有模块化、可复用性和易于维护的特点。以下是对标题和描述中涉及的知识点的详细阐述: 1. **第1章:Java入门** -...
Java面向对象编程是一种重要的软件开发方法,它基于“对象”的概念,强调数据和操作数据的方法紧密结合,使得代码更易于理解和维护。在这个名为“Java面向对象五子棋”的项目中,我们有两个使用Java实现的五子棋小...
Java对象模块是Java编程中的核心概念,它代表了程序中的数据和行为的组合。在Java中,对象是类的实例,而类则是对象的蓝图。理解这一模块的关键在于掌握类、对象、属性和方法等基本概念。 1. 类(Class): 类是...
- **集合框架(Collections Framework)**:Java提供了丰富的数据结构和算法,如ArrayList、LinkedList、HashMap等,方便存储和操作对象。 - **网络编程(Network Programming)**:Java的Socket类和ServerSocket类...
Java面向对象程序设计是计算机科学中的一个重要领域,它基于面向对象编程(OOP)原则,为开发者提供了构建复杂软件系统的方法。本资源包含了该课程所有章节的课后习题答案,帮助学习者深入理解Java语言的面向对象...
对象的状态指的是对象的一些属性的值,对象的行为指的是对象可以执行的操作。对象的标识是指对象的唯一标识符,以区别于其他对象。 类与类之间的关系有依赖、组合和继承三种。依赖关系是指两个类之间的使用关系,...
在web开发中,经常遇到修改的操作。而使用hibernate,它的修改是基于对象的,如果用户修改的字段非常多,但是我们并不知道用户到底修改了那个字段,这时候就需要一个一个的去判断,因此非常耗时,所以我写了个工具类...