Как я могу изменить java формат строки? - PullRequest
0 голосов
/ 14 января 2020
  1. Я хочу заключить в одинарные кавычки, если результат равен нулю. result=''
  2. и в другом случае, если результат не пустой, заключить в одинарные кавычки. нравится. result = 'data'

но я подумал, что у этого кода есть проблемы.

List<ApprovalPath> approvalPaths = new ApprovalPaths(params);

String noticeUsers = String.format("(%s)",StringUtils.toString(getNoticeUsers(approvalPaths),",","'%s'"));

Я думаю, что этот формат будет изменен ('%s'), но result (null case) = '' и result (not null) = 'data'

я хочу только одинарные кавычки в двух случаях (нулевой регистр / не нулевой регистр), но я предполагаю, что «не нулевой регистр» имеет двойные одинарные кавычки ..

public class StringUtils {

    public static <T> String toString(List<T> list, String seperator) {
        return toString(list,seperator,null);


    }

    public static <T> String toString(List<T> list, String seperator, String format) {

        String result = "";

        for(T item : list) {
            String itemString = item.toString();
            if(format!=null)
                itemString = String.format(format, itemString);
            result += itemString;  
            System.out.println("return : " + result);
        }
        return result;
    }

}

как я могу пересмотреть эта проблема?

мне нужно пересмотреть только этот код.

String noticeUsers = String format("(%s)",StringUtils.toString(getNoticeUsers(approvalPaths),",","'%s'"));

1 Ответ

1 голос
/ 14 января 2020

Это даст ожидаемый результат:

StringUtils.defaultIfEmpty(StringUtils.wrap("string", "'"), "\"");

publi c stati c Строковый перенос (String str, String wrapWith) Обтекание строки другой строкой.

Нулевая строка ввода возвращает ноль.

 StringUtils.wrap(null, *)         = null
 StringUtils.wrap("", *)           = ""
 StringUtils.wrap("ab", null)      = "ab"
 StringUtils.wrap("ab", "x")       = "xabx"
 StringUtils.wrap("ab", "\"")      = "\"ab\""
 StringUtils.wrap("\"ab\"", "\"")  = "\"\"ab\"\""
 StringUtils.wrap("ab", "'")       = "'ab'"
 StringUtils.wrap("'abcd'", "'")   = "''abcd''"
 StringUtils.wrap("\"abcd\"", "'") = "'\"abcd\"'"
 StringUtils.wrap("'abcd'", "\"")  = "\"'abcd'\""

Параметры: str - строка, которая должна быть оберткой, может иметь значение null wrapWith - строка, которая будет переносить строку. С тех пор: 3.4

StringUtils.wrap

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...