Ограничение количества символов в строке и обрубание остальных

Я должен составить сводную таблицу в конце журнала с некоторыми значениями, которые получены в классе. Таблица должна быть распечатана в формате фиксированной ширины. У меня есть код уже, чтобы сделать это, но я должен ограничить Строки, удваивается и ints до размера фиксированной ширины, который трудно кодируется в коде.

Так, предположите, что я хочу распечатать таблицу fixed-width с

    int,string,double,string
    int,string,double,string
    int,string,double,string
    int,string,double,string

    and the fixed widths are: 4, 5, 6, 6.

Если значение превышает эту ширину, последние знаки должны быть отключены. Так, например:

    124891, difference, 22.348, montreal

строки, которые должны быть распечатаны, должны быть:

    1248 diffe 22.348 montre

Я думаю, что должен сделать что-то в конструкторе, который вынуждает строку не превысить определенное число символов. Я, вероятно, брошу удваивание и ints к строке, таким образом, я смогу осуществить максимальные требования к ширине.

Я не знаю, какой метод делает это или если строка можно инстанцировать для поведения TAHT путь. Используя средство форматирования только помогает с фиксированным - с форматированием для печати строки, но это на самом деле не прерывает символы, которые превышают максимальную длину.

57
задан 3 December 2011 в 22:10

1 ответ

Если Вы просто хотите максимальную длину, используйте StringUtils.left! Никакой if или ternary ?: необходимый.

int maxLength = 5;
StringUtils.left(string, maxLength);

Вывод:

      null -> null
        "" -> ""
       "a" -> "a"
"abcd1234" -> "abcd1"

Left Документация

1
ответ дан 1 November 2019 в 15:10

Другие вопросы по тегам:

Похожие вопросы: