int数组与String数组互相转换和函数互相转换

今天在群里看到一人说起面试挂的一题,题目是Int数组转成String数组。虽然是基础的问题,但却是基础中比较少用到的问题,因此大家工作都没怎么遇到,不会也很正常。在此整理一下,先来个String与Int 互相转换吧

Int转String(举例两种)

<span style="font-size:18px;">int num = 2;
String st = "" + num;</span>
<span style="font-size:18px;">int num = 2;
String st = String.valueOf(num)</span>

String转Int(举例两种)

<span style="font-size:18px;">String st = "11";
int num  = Integer.parseInt(st);
</span>
<span style="font-size:18px;">String st = "11";
int num  = Integer.valueOf(st).intValue();</span>

转换都有两种方法,那用什么好呢?

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

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



Int数组转成String数组

<span style="font-size:18px;">	int [] num = new int[1,2,3,4,5];
	String [] st = new String[num.length];
  <span style="white-space:pre">	</span> for(int i=0; i<num.length;i++){
  <span style="white-space:pre">		</span>st[i] =   num[i].ToString();
}</span>

String数组转成Int数组

<span style="font-size:18px;">	String [] st= new String["1","2","3","4","5"];
	int[] num = new int[st.length];
  <span>	</span> for(int i=0; i<st.length;i++){
  <span>		</span>num[i] =    Integer.parseInt(st[i])
}</span>

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
下面是一个可用的 Java 函数示例,可以实现 IPv4 和 IPv6 字符串、int 和 byte 数组之间的相互转换: ```java import java.net.Inet4Address; import java.net.Inet6Address; import java.net.InetAddress; import java.net.UnknownHostException; import java.nio.ByteBuffer; public class IPConverter { public static int bytesToInt(byte[] bytes) { return ByteBuffer.wrap(bytes).getInt(); } public static byte[] intToBytes(int i) { return ByteBuffer.allocate(Integer.SIZE / 8).putInt(i).array(); } public static byte[] ipv4ToBytes(String ipv4) throws UnknownHostException { InetAddress inetAddress = Inet4Address.getByName(ipv4); return inetAddress.getAddress(); } public static String bytesToIpv4(byte[] bytes) throws UnknownHostException { InetAddress inetAddress = InetAddress.getByAddress(bytes); if (inetAddress instanceof Inet4Address) { return inetAddress.getHostAddress(); } else { throw new UnknownHostException("the input bytes is not a IPv4 address"); } } public static byte[] ipv6ToBytes(String ipv6) throws UnknownHostException { InetAddress inetAddress = Inet6Address.getByName(ipv6); return inetAddress.getAddress(); } public static String bytesToIpv6(byte[] bytes) throws UnknownHostException { InetAddress inetAddress = InetAddress.getByAddress(bytes); if (inetAddress instanceof Inet6Address) { return inetAddress.getHostAddress(); } else { throw new UnknownHostException("the input bytes is not a IPv6 address"); } } } ``` 使用示例: ```java String ipv4 = "192.168.0.1"; byte[] ipv4Bytes = IPConverter.ipv4ToBytes(ipv4); int ipv4Int = IPConverter.bytesToInt(ipv4Bytes); System.out.println("IPv4 to bytes: " + ipv4Bytes); System.out.println("IPv4 to int: " + ipv4Int); System.out.println("Bytes to IPv4: " + IPConverter.bytesToIpv4(ipv4Bytes)); String ipv6 = "fe80::1"; byte[] ipv6Bytes = IPConverter.ipv6ToBytes(ipv6); System.out.println("IPv6 to bytes: " + ipv6Bytes); System.out.println("Bytes to IPv6: " + IPConverter.bytesToIpv6(ipv6Bytes)); ```

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值