java中一些int,String,byte的转换问题

int -> String

int i=12345;
String s="";
第一种方法:s=i+"";
第二种方法:s=String.valueOf(i);
这两种方法有什么区别呢?作用是不是一样的呢?是不是在任何下都能互换呢?

String -> int

s="12345";
int i;
第一种方法:i=Integer.parseInt(s);
第二种方法:i=Integer.valueOf(s).intValue();
这两种方法有什么区别呢?作用是不是一样的呢?是不是在任何下都能互换呢?

以下是答案:

第一种方法:s=i+"";  //会产生两个String对象
第二种方法:s=String.valueOf(i);//直接使用String类的静态方法,只产生一个对象

第一种方法:i=Integer.parseInt(s);//直接使用静态方法,不会产生多余的对象,但会抛出异常
第二种方法:i=Integer.valueOf(s).intValue();//Integer.valueOf(s)相当于 newInteger(Integer.parseInt(s)),也会抛异常,但会多产生一个对象

--------------------------------------------------------------------
1如何将字串 String 转换成整数int?

A. 有两个方法:

1). int i = Integer.parseInt([String]); 或
i = Integer.parseInt([String],[int radix]);

2). int i = Integer.valueOf(my_str).intValue();

注: 字串转成 Double, Float, Long 的方法大同小异.
2 如何将整数 int 转换成字串 String?
A. 有叁种方法:

1.) String s = String.valueOf(i);

2.) String s = Integer.toString(i);

3.) String s = "" + i;

注: Double, Float, Long 转成字串的方法大同小异.



JAVA数据类型转换 


这是一个例子,说的是JAVA中数据数型的转换.供大家学习

package shenmixiaozhu;
import java.sql.Date;
public class TypeChange {
 
  public TypeChange() {
 
  }
 
  //change the string type tothe int type
 
  publicstatic    int stringToInt(Stringintstr)
 
  {
 
      Integer integer;
 
      integer = Integer.valueOf(intstr);
 
      return integer.intValue();
 
  }
 
  //change int type to thestring type
 
  public static StringintToString(int value)
 
  {
 
      Integer integer = new Integer(value);
 
      return integer.toString();
 
  }
 
  //change the string type tothe float type
 
  publicstatic    floatstringToFloat(String floatstr)
 
  {
 
      Float floatee;
 
      floatee = Float.valueOf(floatstr);
 
      return floatee.floatValue();
 
  }
 
  //change the float type to thestring type
 
  public static StringfloatToString(float value)
 
  {
 
      Float floatee = new Float(value);
 
      return floatee.toString();
 
  }
 
  //change the string type tothe sqlDate type
 
  public static java.sql.DatestringToDate(String dateStr)
 
  {
 
      return    java.sql.Date.valueOf(dateStr);
 
  }
 
  //change the sqlDate type tothe string type
 
  public static StringdateToString(java.sql.Date datee)
 
  {
 
      return datee.toString();
 
  }

再来点和byte相关的
	/*
	 * String转换成16进制byte数组
	 */
	public static byte[] hexStringToBytes(String hexString) {
		if (hexString == null || hexString.equals("")) {
			return null;
		}
		hexString = hexString.toUpperCase();
		int length = hexString.length() / 2;
		char[] hexChars = hexString.toCharArray();
		byte[] d = new byte[length];
		for (int i = 0; i < length; i++) {
			int pos = i * 2;
			d[i] = (byte) (charToByte(hexChars[pos]) << 4 | charToByte(hexChars[pos + 1]));
		}
		return d;
	}

	public static byte charToByte(char c) {
		return (byte) "0123456789ABCDEF".indexOf(c);
	}

	// byte to int
	public static int bytesToInt(byte[] bytes) {
		int addr = bytes[2] & 0xFF;
		addr |= ((bytes[1] << 8) & 0xFF00);
		addr |= ((bytes[0] << 16) & 0xFF0000);
		return addr;
	}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值