10月 20

java的枚举真是坑爹啊,想根据value值获得枚举本身竟然需要写个switch一个个case返回,因为反射的话影响效率

想起C#的方便真是内牛满面啊

看见一个同事写的一个方法挺好,写了一个转换方法,记录一下

public enum FeedStatusEnum {

   / **
    * 未处理
    */
   untreated(0),
   / **
    *人工回复
    */
   adminReply(1),
   / **
    * 自动回复
    */
   autoReply(2),
   / **
    * 忽略
    */
   ignore(6);

   private int status;

   private FeedStatusEnum(int status) {
       this.status = status;
   }

   public int getStatus() {
       return this.status;
   }
}

转换类:

   / **
    * FeedStatusEnum 枚举转换
    *
    * @param status
    * @return
    */
   private static FeedStatusEnum getFeedStatusEnum(int status) {
       for (FeedStatusEnum e : FeedStatusEnum.values()) {
           if (e.getStatus() == status) {
               return e;
           }
       }
       return null;

   }


这样就不用一个个去转换了

不过也比较麻烦,每个枚举都需要写一个对应的类,根据泛型应该可以只写一次的

有空了研究一下,先完成任务再说,吼吼

   

written by ocean

10月 14

他大爷的,java的时间日期真难操作,写个方法封装一下了

照着C#写的

public class DateHelper {

   
   
    / **
    * 构建一个date
    * @param year
    * @param month
    * @param day
    * @param hour
    * @param minute
    * @param second
    * @return
    */
   public static Date Ceate(int year,int month,int day,int hour,int minute,int second){
       Calendar calendar=Calendar.getInstance();
       calendar.set(Calendar.YEAR, year);
       calendar.set(Calendar.MONTH,month1);//尼玛的,月的索引是从0开始的,神经病啊
       calendar.set(Calendar.DAY_OF_MONTH, day);
       calendar.set(Calendar.HOUR,hour);
       calendar.set(Calendar.MINUTE, minute);
       calendar.set(Calendar.SECOND,second);
       return calendar.getTime();
   }
   
   / **
    * 添加年
    * @param date
    * @param amount
    * @return
    */
   public static Date AddYear(Date date,int amount){
       Calendar calendar=Calendar.getInstance();
       calendar.setTime(date);
       calendar.add(Calendar.YEAR, amount);
       return calendar.getTime();
   }
   
   / **
    * 添加月
    * @param date
    * @param amount
    * @return
    */
   public static Date AddMonth(Date date,int amount){
       Calendar calendar=Calendar.getInstance();
       calendar.setTime(date);
       calendar.add(Calendar.MONTH, amount);
       return calendar.getTime();
   }
   
   / **
    * 添加日
    * @param date
    * @param amount
    * @return
    */
   public static Date AddDay(Date date,int amount){
       Calendar calendar=Calendar.getInstance();
       calendar.setTime(date);
       calendar.add(Calendar.DAY_OF_WEEK, amount);
       return calendar.getTime();
   }
   
   / **
    * 添加小时
    * @param date
    * @param amount
    * @return
    */
   public static Date AddHour(Date date,int amount){
       Calendar calendar=Calendar.getInstance();
       calendar.setTime(date);
       calendar.add(Calendar.HOUR, amount);
       return calendar.getTime();
   }
   / **
    * 添加分钟
    * @param date
    * @param amount
    * @return
    */
   public static Date AddMinute(Date date,int amount){
       Calendar calendar=Calendar.getInstance();
       calendar.setTime(date);
       calendar.add(Calendar.MINUTE, amount);
       return calendar.getTime();
   }
   / **
    * 添加秒
    * @param date
    * @param amount
    * @return
    */
   public static Date AddSecond(Date date,int amount){
       Calendar calendar=Calendar.getInstance();
       calendar.setTime(date);
       calendar.add(Calendar.SECOND, amount);
       return calendar.getTime();
   }
   

   / **
    * 格式化输出字符串
    * @param date
    * @param pattern
    * @return
    */
   public static String DateToString(Date date,String pattern){
        java.text.SimpleDateFormat format = new java.text.SimpleDateFormat(pattern);  
        String str=format.format(date);
        return str;
   }
}

written by ocean

10月 12
using System;
using System.Collections.Generic;
using System.Text;

namespace XydSoft.FrameWork.Helper
{
/// <summary>
/// 随机数类
/// </summary>
publicclass RandomHelper
{

/// <summary>
/// 返回Random实例
/// </summary>
/// <returns></returns>
publicstatic Random GetRandom()
{

int seed = GetRandomSeed();
           Random rand =new Random(seed);
return rand;
}

/// <summary>
/// 返回一个随机数
/// </summary>
/// <returns></returns>
publicstaticint GetRandNumber()
{
return GetRandom().Next();
}

/// <summary>
/// 返回一个max以内的随机数
/// </summary>
/// <param name="max"></param>
/// <returns></returns>
publicstaticint GetRandNumber(int max)
{
return GetRandom().Next(max);
}

/// <summary>
/// 返回一个min和max之间的随机数
/// </summary>
/// <param name="min"></param>
/// <param name="max"></param>
/// <returns></returns>
publicstaticint GetRandNumber(int min, int max)
{
return GetRandom().Next(min, max);
}

/// <summary>
/// 返回一个指定长度的随机字符串
/// </summary>
/// <param name="length"></param>
/// <returns></returns>
publicstatic string GetRandCode(int length)
{
return GetRandCode(length,1);
}

/// <summary>
/// 返回一个指定长度的随机字符串
/// containType 1(大小数,默认),2(大小),3(大数),4(小数),5(大),6(小),7(数)
/// </summary>
/// <param name="length">长度</param>
/// <param name="contain"></param>
/// <returns></returns>
publicstatic string GetRandCode(int length, int containType)
{
return RandomNum(length, containType);
}

privatestatic string RandomNum(int length, int containType)// 生成随即数的位数
{
           string CharsList = GetListChars(containType);
int seed = GetRandomSeed();
           Random rand =new Random(seed);
           string VNum ="";
for(int i =0; i < length; i++)
{
int n = rand.Next(CharsList.Length);
               VNum += CharsList[n];
}
return VNum;
}

/// <summary>
/// 返回不同的字符集方法
/// </summary>
/// <param name="containType">1(大小数,默认),2(大小),3(大数),4(小数),5(大),6(小),7(数)</param>
/// <returns></returns>
privatestatic string GetListChars(int containType)
{
        string containS ="1234567890";
           string containD="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
           string containX="abcdefghijklmnopqrstuvwxyz";
switch(containType)
{
case2:
return containD+containX;
case3:
return containD + containS;
case4:
return containX + containS;
case5:
return containD;
case6:
return  containX;
case7:
return  containS;
}
return containD + containX + containS;
}

/// <summary>
/// 生成随机因子
/// </summary>
/// <returns></returns>
privatestaticint GetRandomSeed()
{
byte[] bytes =newbyte[4];
           System.Security.Cryptography.RNGCryptoServiceProvider rng =new System.Security.Cryptography.RNGCryptoServiceProvider();
           rng.GetBytes(bytes);
return BitConverter.ToInt32(bytes, 0);
}
}
}

written by ocean