代码:

package fixsizestring;

public class TestClass {
    public static void main(String[] args) {
        for(int i=0;i<10;i++) {
            System.out.println(fixSizeStr("#"+i,10)+fixSizeStr("abcdefg",10)+fixSizeStr("北32京32",10)+fixSizeStr("广202州",10)+fixSizeStr(null,10));
            System.out.println(fixSizeStr2("."+i,10)+fixSizeStr2("abcdefg",10)+fixSizeStr2("北32京32",10)+fixSizeStr2("福322州",10)+fixSizeStr2(null,10));
        }
    }

    // 得到一定长度的字符串,不足补空格
    private static String fixSizeStr(Object obj, int size) {
        String str;
        if(obj==null) {
            str="null";
        }else {
            str=obj.toString();
        }

        int strLen;
        if (obj == null) {
            strLen = 0;
        }else{
            strLen= str.length();
        }

        if (strLen == size) {
            return str;
        } else if (strLen < size) {
            int temp = size - strLen;
            String tem = "";
            for (int i = 0; i < temp; i++) {
                tem = tem + " ";
            }
            return str + tem;
        }else{
            return str.substring(0,size);
        }
    }

    // 得到一定长度的字符串,不足补空格
    private static String fixSizeStr2(Object obj, int size) {
        String str;
        if(obj==null) {
            str="null";
        }else {
            str=obj.toString();
        }
        return String.format("%-"+size+"s", str);
    }
}

输出:

#0        abcdefg   北32京32    广202州     null
.0        abcdefg   北32京32    福322州     null
#1        abcdefg   北32京32    广202州     null
.1        abcdefg   北32京32    福322州     null
#2        abcdefg   北32京32    广202州     null
.2        abcdefg   北32京32    福322州     null
#3        abcdefg   北32京32    广202州     null
.3        abcdefg   北32京32    福322州     null
#4        abcdefg   北32京32    广202州     null
.4        abcdefg   北32京32    福322州     null
#5        abcdefg   北32京32    广202州     null
.5        abcdefg   北32京32    福322州     null
#6        abcdefg   北32京32    广202州     null
.6        abcdefg   北32京32    福322州     null
#7        abcdefg   北32京32    广202州     null
.7        abcdefg   北32京32    福322州     null
#8        abcdefg   北32京32    广202州     null
.8        abcdefg   北32京32    福322州     null
#9        abcdefg   北32京32    广202州     null
.9        abcdefg   北32京32    福322州     null      

--END-- 2019-12-06 13:59

[String]两个右补空格使字符串达到固定长度的函数 来自网上 请君自取的更多相关文章

  1. GBK格式字符串右补空格

    public class Test2 {   public static void main(String[] s) throws IOException {   List<User> l ...

  2. c# 超长字符串截取固定长度后显示...(超长后面显示点点点) 通用方法

    通用方法: 此方法是采用unicode编码方式,一个汉字为2个字节,一个数字or字母是1个字节,此方法传入的第二个长度参数是unicode长度. 所以不用考虑截取的字符串是汉字还是英文字母的问题,参数 ...

  3. 算法进阶面试题01——KMP算法详解、输出含两次原子串的最短串、判断T1是否包含T2子树、Manacher算法详解、使字符串成为最短回文串

    1.KMP算法详解与应用 子序列:可以连续可以不连续. 子数组/串:要连续 暴力方法:逐个位置比对. KMP:让前面的,指导后面. 概念建设: d的最长前缀与最长后缀的匹配长度为3.(前缀不能到最后一 ...

  4. Oracle 给字符串补空格、补0

    利用lpad().RPAD()函数来实现给字符串补空格或补0的功能: 一.lpad()lpad函数将左边的字符串填充一些特定的字符其语法格式如下:lpad(string,n,[pad_string]) ...

  5. C++中int转为char 以及int 转为string和string 转int和空格分隔字符串

    1.对于int 转为char 直接上代码: 正确做法: void toChar(int b) { char u; ]; _itoa( b, buffer, ); //正确解法一 u = buffer[ ...

  6. String的trim()用于去掉字符串前后的空格

    String的trim()可以去掉字符串的前导和后继字符串,即去掉字符串前面和后面的空格. eg:String userName = " good man "; System.ou ...

  7. PHP数字字符串左侧补0、字符串填充和自动补齐的几种方法

    一.数字补0. 如果要自动生成学号,自动生成某某编号,就像这样的形式“d0000009”.“d0000027”时,那么就会面临一个问题,怎么把左边用0补齐成这样8位数的编码呢?我想到了两种方法实现这个 ...

  8. java中int转成String位数不足前面补零

    java中int转成String位数不足前面补零 转载自:http://ych0108.iteye.com/blog/2174134 java中int转String位数不够前面补零 String.fo ...

  9. Java String类相关知识梳理(含字符串常量池(String Pool)知识)

    目录 1. String类是什么 1.1 定义 1.2 类结构 1.3 所在的包 2. String类的底层数据结构 3. 关于 intern() 方法(重点) 3.1 作用 3.2 字符串常量池(S ...

随机推荐

  1. 限制mongoDB内存的方法

    docker运行MongoDB,针对于docker容器来进行内存资源的限制 修改MongoDB的运行配置文件,并且重启mongodb storage: dbPath: /var/lib/mongodb ...

  2. Kubernetes 1.15部署日记-使用kubeadm--<7-8>

    7. 在k8s集群中run一个应用 nginx已经跑起来了到此kubernetes集群部署结束了. 8. 总结 此次部署kubernetes的起因是AI团队中的kubernetes项目跑在其他IP段网 ...

  3. Linux下使用shell脚本自动备份和移动数据到大容量存储

    自动备份数据库,并将备份前一天的数据移动拷贝到存储上. 需求来源是因为linux系统层的磁盘存储容量过小,数据库自动备份之后日积月累数据越来越多,而且还不想删除旧数据.那解决方法就是在linux系统主 ...

  4. c# Path类

  5. hive 外部表和内部表的区别和相互转换

    Hive内部表和外部表区别 1.创建内部表时,内部表的数据文件是保存在指定的路径的:如若创建外部表,则只记录数据所在的路径,不会对数据位置做改变. 2.删除表的时候,内部表元数据和数据会跟着一起删除. ...

  6. HashMap简介以及hashCode写法的建议

    映射表Map Map也叫映射表或者字典,Map中存储的元素是一个键值对key-value,他们共同包装在Entry<K,V>对象中.我们能通过key直接获取value,就像查字典一样. J ...

  7. 洛谷 P1020导弹拦截题解

    洛谷链接:https://www.luogu.org/problem/P1020 题目描述 某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统.但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到 ...

  8. DT二次开发之-资讯列表中调用 TAG 关键词

    资讯列表加文章关键词:(列表或搜索主字段加上 ,tag) {if $t[tag]} <p class="key"> 关键词: {php $tag = str_repla ...

  9. Linux命令基础5-文件重定向

    文件描述符是和文件的输入.输出相关联的非负整数,Linux内核(kernel)利用文件描述符(file descriptor)来访问文件.打开现存文件或新建文件时,内核会返回一个文件描述符.读写文件也 ...

  10. GBDT(梯度提升树) 原理小结

    在之前博客中,我们对Boosting家族的Adaboost算法做了总结,本文就对Boosting家族中另一个重要的算法梯度提升树(Gradient Boosting Decison Tree, 以下简 ...