有个基础问题想问下大家

对java有感觉 2013-04-24 05:42:27
就是我有个字符串数组无序的00100000 002000000 00300000 004000000
然后我把它们变成了整形数组之后 前面的00都没有了嘛 变成这个是因为排序
现在我想问的就是 我如何在把00加上去并且还是变成一个整形的数组 或者其他的数组也可以但是一定要可以排序我用的是arrays.sort()方法 可是我换成字符串排序这个一直报错 我怀疑是不是我定义的长度有关系 里面有null值 但是这个数组也是动态的 这个排序也是其中的一部分而已
现在出的问题就是前面的00消失了 导致我查询数据的时候出现了问题。希望大家帮下我有没有其它的好办法排序的或者转换成整形数组的时候可以前面带上00的 我用了一下DECImalformat 也不行。
...全文
81 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
试着用集合处理下,应该没问题的
Mourinho 2013-04-24
  • 打赏
  • 举报
回复
把null换成字符串"null"排序,最后再换回来就好了

import java.util.Arrays;

public class Test02 {
	public static void main(String[] args) {
		String[] arr = new String[] { null, "00400000", "00200000", null,
				"00100000", "00300000" };
		sort(arr);
		System.out.println(Arrays.toString(arr));
	}

	static void sort(String[] arr) {
		final String nullString = "null";	
		for (int i = 0; i < arr.length; ++i) {
			if (arr[i] == null) arr[i] = nullString;
		}
		Arrays.sort(arr);
		for (int i = 0; i < arr.length; ++i) {
			if (arr[i].equals(nullString)) arr[i] = null;
		}		
	}
}
结果 [00100000, 00200000, 00300000, 00400000, null, null]
xd782292778 2013-04-24
  • 打赏
  • 举报
回复
可以自己先写一个比较两个字符串大小的算法,然后根据这个算法把算组排序

50,530

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧