`
xijunhu
  • 浏览: 155902 次
  • 性别: Icon_minigender_1
  • 来自: 无锡
社区版块
存档分类
最新评论

java的常用函数代码

阅读更多
/**
     * 将某个日期以固定格式转化成字符串
     * 
     * @param date
     * @return String
     */
    public static String dateToStr(java.util.Date date)
    {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String str = sdf.format(date);
        return str;
    }
/**
     * 判断任意一个整数是否素数
     * 
     * @param n
     * @return boolean
     */
    public static boolean isPrimes(int n)
    {
        for (int i = 2; i <= Math.sqrt(n); i++)
        {
            if (n % i == 0)
            {
                return false;
            }
        }
        return true;
    }

/**
     * 获得任意一个整数的阶乘,递归
      * 
     * @param n
     * @return n!
     */
    public static int factorial(int n)
    {
        if (n == 1)
        {
            return 1;
        }
        return n * factorial(n - 1);
    }

 /**
     * 将指定byte数组以16进制的形式打印到控制台
     * 
     * @param hint
     *            String
     * @param b
     *            byte[]
     * @return void
     */
    public static void printHexString(String hint, byte[] b)
    {
        System.out.print(hint);
        for (int i = 0; i < b.length; i++)
        {
            String hex = Integer.toHexString(b[i] & 0xFF);
            if (hex.length() == 1)
            {
                hex = '0' + hex;
            }
            System.out.print(hex.toUpperCase() + " ");
        }
        System.out.println("");
    }

/**
   * 分割字符串
   * 
   * @param str String 原始字符串
   * @param splitsign String 分隔符
   * @return String[] 分割后的字符串数组
   */
  @SuppressWarnings("unchecked")
  public static String[] split(String str, String splitsign) {
    int index;
    if (str == null || splitsign == null)
      return null;
    ArrayList al = new ArrayList();
    while ((index = str.indexOf(splitsign)) != -1) {
      al.add(str.substring(0, index));
      str = str.substring(index + splitsign.length());
    }
    al.add(str);
    return (String[]) al.toArray(new String[0]);
  }

  /**
   * 替换字符串
   * 
   * @param from String 原始字符串
   * @param to String 目标字符串
   * @param source String 母字符串
   * @return String 替换后的字符串
   */
  public static String replace(String from, String to, String source) {
    if (source == null || from == null || to == null)
      return null;
    StringBuffer bf = new StringBuffer("");
    int index = -1;
    while ((index = source.indexOf(from)) != -1) {
      bf.append(source.substring(0, index) + to);
      source = source.substring(index + from.length());
      index = source.indexOf(from);
    }
    bf.append(source);
    return bf.toString();
  }

  /**
   * 替换字符串,能能够在HTML页面上直接显示(替换双引号和小于号)
   * 
   * @param str String 原始字符串
   * @return String 替换后的字符串
   */
  public static String htmlencode(String str) {
    if (str == null) {
      return null;
    }

    return replace("\"", "&quot;", replace("<", "&lt;", str));
  }

  /**
   * 替换字符串,将被编码的转换成原始码(替换成双引号和小于号)
   * 
   * @param str String
   * @return String
   */
  public static String htmldecode(String str) {
    if (str == null) {
      return null;
    }

    return replace("&quot;", "\"", replace("&lt;", "<", str));
  }

  private static final String _BR = "<br/>";

  /**
   * 在页面上直接显示文本内容,替换小于号,空格,回车,TAB
   * 
   * @param str String 原始字符串
   * @return String 替换后的字符串
   */
  public static String htmlshow(String str) {
    if (str == null) {
      return null;
    }

    str = replace("<", "&lt;", str);
    str = replace(" ", "&nbsp;", str);
    str = replace("\r\n", _BR, str);
    str = replace("\n", _BR, str);
    str = replace("\t", "&nbsp;&nbsp;&nbsp;&nbsp;", str);
    return str;
  }

  /**
   * 返回指定字节长度的字符串
   * 
   * @param str String 字符串
   * @param length int 指定长度
   * @return String 返回的字符串
   */
  public static String toLength(String str, int length) {
    if (str == null) {
      return null;
    }
    if (length <= 0) {
      return "";
    }
    try {
      if (str.getBytes("GBK").length <= length) {
        return str;
      }
    } catch (Exception ex) {
    }
    StringBuffer buff = new StringBuffer();

    int index = 0;
    char c;
    length -= 3;
    while (length > 0) {
      c = str.charAt(index);
      if (c < 128) {
        length--;
      } else {
        length--;
        length--;
      }
      buff.append(c);
      index++;
    }
    buff.append("...");
    return buff.toString();
  }

  /**
   * 判断是否为整数
   * 
   * @param str 传入的字符串
   * @return 是整数返回true,否则返回false
   */
  public static boolean isInteger(String str) {
    Pattern pattern = Pattern.compile("^[-\\+]?[\\d]*$");
    return pattern.matcher(str).matches();
  }

  /**
   * 判断是否为浮点数,包括double和float
   * 
   * @param str 传入的字符串
   * @return 是浮点数返回true,否则返回false
   */
  public static boolean isDouble(String str) {
    Pattern pattern = Pattern.compile("^[-\\+]?[.\\d]*$");
    return pattern.matcher(str).matches();
  }

  /**
   * 判断输入的字符串是否符合Email样式.
   * 
   * @param str 传入的字符串
   * @return 是Email样式返回true,否则返回false
   */
  public static boolean isEmail(String str) {
    Pattern pattern = Pattern.compile("^\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*$");
    return pattern.matcher(str).matches();
  }

  /**
   * 判断输入的字符串是否为纯汉字
   * 
   * @param str 传入的字符窜
   * @return 如果是纯汉字返回true,否则返回false
   */
  public static boolean isChinese(String str) {
    Pattern pattern = Pattern.compile("[\u0391-\uFFE5]+$");
    return pattern.matcher(str).matches();
  }

  /**
   * 是否为空白,包括null和""
   * 
   * @param str
   * @return
   */
  public static boolean isBlank(String str) {
    return str == null || str.trim().length() == 0;
  }

 /**
   * 判断是否为质数
   * 
   * @param x
   * @return
   */
  public static boolean isPrime(int x) {
    if (x <= 7) {
      if (x == 2 || x == 3 || x == 5 || x == 7)
        return true;
    }
    int c = 7;
    if (x % 2 == 0)
      return false;
    if (x % 3 == 0)
      return false;
    if (x % 5 == 0)
      return false;
    int end = (int) Math.sqrt(x);
    while (c <= end) {
      if (x % c == 0) {
        return false;
      }
      c += 4;
      if (x % c == 0) {
        return false;
      }
      c += 2;
      if (x % c == 0) {
        return false;
      }
      c += 4;
      if (x % c == 0) {
        return false;
      }
      c += 2;
      if (x % c == 0) {
        return false;
      }
      c += 4;
      if (x % c == 0) {
        return false;
      }
      c += 6;
      if (x % c == 0) {
        return false;
      }
      c += 2;
      if (x % c == 0) {
        return false;
      }
      c += 6;
    }
    return true;
  }
/**
     * 全角字符转半角字符
     * 
     * @param QJStr
     * @return String
     */
    public static final String QJToBJChange(String QJStr)
    {
        char[] chr = QJStr.toCharArray();
        String str = "";
        for (int i = 0; i < chr.length; i++)
        {
            chr[i] = (char) ((int) chr[i] - 65248);
            str += chr[i];
        }
        return str;
    }

/**
     * 去掉字符串中重复的子字符串
     * 
     * @param str
     * @return String
     */
    private static String removeSameString(String str)
    {
        Set<String> mLinkedSet = new LinkedHashSet<String>();
        String[] strArray = str.split(" ");
        StringBuffer sb = new StringBuffer();

        for (int i = 0; i < strArray.length; i++)
        {
            if (!mLinkedSet.contains(strArray[i]))
            {
                mLinkedSet.add(strArray[i]);
                sb.append(strArray[i] + " ");
            }
        }
        System.out.println(mLinkedSet);
        return sb.toString().substring(0, sb.toString().length() - 1);
    }


 /**   
     * 根据指定方法的参数去构造一个新的对象的拷贝并将他返回
     * @param obj 原始对象
     * @return 新对象
     * @throws NoSuchMethodException    
     * @throws InvocationTargetException    
     * @throws IllegalAccessException    
     * @throws InstantiationException    
     * @throws SecurityException    
     * @throws IllegalArgumentException    
     */
    @SuppressWarnings("unchecked")
    public static Object copy(Object obj) throws IllegalArgumentException, SecurityException, InstantiationException, IllegalAccessException,
                    InvocationTargetException, NoSuchMethodException
    {
        //获得对象的类型    
        Class classType = obj.getClass();

        //通过默认构造方法去创建一个新的对象,getConstructor的视其参数决定调用哪个构造方法    
        Object objectCopy = classType.getConstructor(new Class[]{}).newInstance(new Object[]{});

        //获得对象的所有属性    
        Field[] fields = classType.getDeclaredFields();

        for(int i = 0; i < fields.length; i++)
        {
            //获取数组中对应的属性    
            Field field = fields[i];

            String fieldName = field.getName();
            String stringLetter = fieldName.substring(0, 1).toUpperCase();

            //获得相应属性的getXXX和setXXX方法名称    
            String getName = "get" + stringLetter + fieldName.substring(1);
            String setName = "set" + stringLetter + fieldName.substring(1);

            //获取相应的方法    
            Method getMethod = classType.getMethod(getName, new Class[]{});
            Method setMethod = classType.getMethod(setName, new Class[]{field.getType()});

            //调用源对象的getXXX()方法    
            Object value = getMethod.invoke(obj, new Object[]{});

            //调用拷贝对象的setXXX()方法    
            setMethod.invoke(objectCopy, new Object[]{value});
        }

        return objectCopy;
    }

/** 
    *一个for循环打印九九乘法表 
    */ 
    public void nineNineMultiTable() 
    { 
      for (int i = 1,j = 1; j <= 9; i++) { 
          System.out.print(i+"*"+j+"="+i*j+" "); 
          if(i==j) 
          { 
              i=0; 
              j++; 
              System.out.println(); 
          } 
      } 
    } 


/**
  * 写入日志
  * filePath 日志文件的路径
  * code 要写入日志文件的内容
  */
 public static boolean print(String filePath,String code) {
  try {
   File tofile=new File(filePath);
   FileWriter fw=new FileWriter(tofile,true);
   BufferedWriter bw=new BufferedWriter(fw);
   PrintWriter pw=new PrintWriter(bw);
   
   System.out.println(getDate()+":"+code);
   pw.println(getDate()+":"+code);
   pw.close();
   bw.close();
   fw.close();
   return true;
  } catch (IOException e) {
   return false;
  }
 }

/**
  * 判断是不是合法手机
  * handset 手机号码
  */
 public static boolean isHandset(String handset) {
  try {
   if(!handset.substring(0,1).equals("1")) {
    return false;
   }
   if (handset==null || handset.length()!=11) {
    return false;
   }
   String check = "^[0123456789]+$";
   Pattern regex = Pattern.compile(check);
   Matcher matcher = regex.matcher(handset);
   boolean isMatched = matcher.matches();
   if(isMatched) {
    return true;
   } else {
    return false;
   }
  } catch (RuntimeException e) {
   return false;
  } 
 }
}

/** 
    *判断任意一个整数是否素数 
    *@paramn 
    *@return boolean 
    */ 
    public boolean isPrimes(int n) 
    { 
      for (int i = 2; i <= Math.sqrt(n); i++) { 
          if(n%i==0) 
          { 
              return false; 
          } 
      } 
      return true; 
    } 



转载:http://topic.csdn.net/u/20080701/23/3390e185-d6c1-43d0-9222-ad03d2e303a6.html
分享到:
评论

相关推荐

    Java常用函数速查表

    这份“Java常用函数速查表”是一个宝贵的参考资料,旨在帮助开发者快速查找和理解常用的功能。 速查表通常包括了Java中的各种核心类库函数,如String、Math、ArrayList、HashMap等常用类的方法。以下是一些重要的...

    Java常用函数大全

    在Java编程语言中,函数是实现特定功能的代码块,可以被多次调用。下面将分别介绍标题和描述中提到的一些重要函数,并结合压缩包内的文件名称,详细讲解相关类和方法。 1. **BSDate.java**: 这个文件很可能包含了...

    Java中常用函数汇总

    这里我们汇总了一些Java中常用的字符串相关函数,这些函数在处理文本数据时非常实用。 首先,`compareTo()`和`compareToIgnoreCase()`是用来比较两个字符串的函数。`compareTo()`根据ASCII值对字符串进行逐字符比较...

    java常用函数API经常用的

    学习并熟练掌握这些常用函数API,将极大地提升你的Java编程效率和代码质量。 总结来说,Java中的日期处理、数字判断和字符串操作是编程中非常基础且重要的部分。了解并熟练使用这些API,不仅可以提高代码的可读性和...

    java常用函数.txt

    根据提供的文件信息,我们可以提取并总结出以下几个关键的Java知识点: ### 1. 文件与类的基本结构 在Java中,每个文件通常包含一个或多个类的定义。此文件中的类名为`BaseFunction`,它位于包`jing.tools`中。在...

    java函数速查手册常用函数

    这个CHM文件很可能是由一系列的函数解释、示例代码和使用指南组成的电子手册,方便用户快速查找和理解Java中的各种函数。 在Java中,函数(或称为方法)是实现特定功能的代码块,可以被多次调用。以下是一些Java...

    java常用函数2java常用函数2.doc

    综上所述,本文档介绍的Java常用函数都是实际开发中的高频使用工具,它们不仅提高了程序的效率和可读性,也使得开发者在处理日常任务时更加得心应手。通过学习和掌握这些函数的使用,开发者可以更加专注于业务逻辑的...

    java常用函数实战讲解.rar

    本教程“java常用函数实战讲解”将深入探讨Java编程中的常见函数用法,旨在帮助开发者提升在实际项目中的应用能力。 首先,我们要理解Java函数的基础概念。函数是Java编程中的基本单元,它封装了一段可重复使用的...

    java常用代码方法

    在Java编程中,有一些常见的代码方法是每个开发者都需要掌握的。这些方法不仅提高了代码的可读性和可维护性,还能有效地解决日常编程问题。以下是一些关键的Java代码方法和相关知识点: 1. **字符串操作**: - `...

    利用Swing开发的JAVA常用组件代码

    本资源"利用Swing开发的JAVA常用组件代码fprod-common-7.3.rar"提供了使用Swing开发的一些常见组件的示例代码,这将有助于理解和实践如何在Java程序中创建和操作用户界面。 Swing提供了许多组件,它们是构建用户...

    java常用char,string函数

    本文将详细介绍Java中与`char`和`String`相关的常用函数,帮助初学者更好地理解和应用这些函数。 #### 二、Char函数详解 1. **charCount(int codePoint)** - **功能**:该方法用于计算指定的Unicode代码点是否...

    Java实现蓝桥杯VIP算法训练 二元函数_Java实现蓝桥杯VIP算法训练二元函数_major2fo_frequentlyeb

    为了更好地学习和实践这些概念,`Java实现蓝桥杯VIP算法训练 二元函数.docx`文档可能会提供具体的题目、解题思路和完整的代码示例。建议打开文档深入学习,通过实际编程练习来巩固理论知识。 总的来说,理解和熟练...

    java常用代码的集合

    以下是对标题“java常用代码的集合”和描述中提及的知识点的详细解释,以及与标签相关的具体代码示例。 1. ISBN验证: ISBN(国际标准书号)是用于唯一标识书籍的编码。在Java中,我们可以编写一个方法来验证一个...

    JAVA代码审计常用漏洞总结

    主要代码审计方法是跟踪用户输入数据和敏感函数参数回溯: 跟踪用户的输入数据,判断数据进入的每一个代码逻辑是否有可利用的点,此处的代码逻辑 可以是一个函数,或者是条小小的条件判断语句。 敏感函数参数回溯,...

    java常用代码

    本压缩包“java常用代码”集合了一系列基础到进阶的Java代码示例,涵盖了多个关键领域,有助于初学者快速掌握Java编程的核心概念。 1. **遗产算法**:在Java中,继承是面向对象特性之一,它允许一个类(子类)继承...

    java 常用实验代码

    在“java常用实验代码”这个文档中,我们可以看到一系列与Java编程相关的实践项目,旨在帮助学习者深入理解Java的核心概念和技术。以下是这些实验代码所涵盖的知识点的详细解释: 1. **接口定义及实现**: Java...

    Java API函数大全

    ### Java API函数大全 在Java开发中,熟练掌握并运用API是提高开发效率、编写高质量代码的关键之一。本文将从给定的文档片段出发,详细解读其中提及的一些关键API概念及函数,帮助开发者们深入了解这些功能的具体...

    主要是java学习基础和java一些常用的代码

    本压缩包中的资源主要聚焦于Java学习的基础部分以及一些常见的Java代码示例,旨在帮助初学者构建坚实的Java编程基础。 首先,Java基础学习是成为一名合格的Java开发者的基石。这包括了解Java语法的基本结构,如数据...

    Java常用代码整理

    "Java常用代码整理"这个主题涵盖了Java开发中的诸多常见技术点和实用代码片段,旨在帮助开发者提升工作效率。以下是对这些知识点的详细阐述: 1. **基础语法**:Java的基础语法包括数据类型(如整型、浮点型、字符...

Global site tag (gtag.js) - Google Analytics