Here you can find the source of abbreviate(final String value, int max)
Parameter | Description |
---|---|
value | The value. |
max | The max value. |
public static String abbreviate(final String value, int max)
//package com.java2s; //License from project: Apache License public class Main { /**/* www. j a v a 2 s .c o m*/ * Abbreviates the given {@code value} to {@code max} characters (if necessary).<br> * If the {@code value} is abbreviated, the result ends with "{@code ...}". * <p/> * <pre> * abbreviate("my value", 150) -> "my value" * abbreviate("my value", 5) -> "my va..." * abbreviate("my value", 0) -> "..." * </pre> * * @param value * The value. * @param max * The max value. * @return The value abbreviated (if necessary). */ public static String abbreviate(final String value, int max) { if (value == null) { return null; } if (max < 0) { max = 0; } return value.length() > max ? value.substring(0, max) + "..." : value; } /** * Gets a CharSequence length or {@code 0} if the CharSequence is {@code null}. * * @param cs * a CharSequence or {@code null} * @return CharSequence length or {@code 0} if the CharSequence is {@code null}. */ public static int length(CharSequence cs) { return cs == null ? 0 : cs.length(); } /** * <p> * Gets a substring from the specified String avoiding exceptions. * </p> * <p> * A negative start position can be used to start/end {@code n} characters from the end of the String. * </p> * <p> * The returned substring starts with the character in the {@code start} position and ends before the {@code end} * position. All position counting is zero-based -- i.e., to start at the beginning of the string use * {@code start = 0}. Negative start and end positions can be used to specify offsets relative to the end of the * String. * </p> * <p> * If {@code start} is not strictly to the left of {@code end}, "" is returned. * </p> * <p/> * <pre> * StringUtils.substring(null, *, *) = null * StringUtils.substring("", * , *) = ""; * StringUtils.substring("abc", 0, 2) = "ab" * StringUtils.substring("abc", 2, 0) = "" * StringUtils.substring("abc", 2, 4) = "c" * StringUtils.substring("abc", 4, 6) = "" * StringUtils.substring("abc", 2, 2) = "" * StringUtils.substring("abc", -2, -1) = "b" * StringUtils.substring("abc", -4, 2) = "ab" * </pre> * * @param str * the String to get the substring from, may be null * @param start * the position to start from, negative means count back from the end of the String by this many characters * @param end * the position to end at (exclusive), negative means count back from the end of the String by this many * characters * @return substring from start position to end position, {@code null} if null String input */ public static String substring(final String str, int start, int end) { if (str == null) { return null; } // handle negatives if (end < 0) { end = str.length() + end; // remember end is negative } if (start < 0) { start = str.length() + start; // remember start is negative } // check length next if (end > str.length()) { end = str.length(); } // if start is greater than end, return "" if (start > end) { return ""; } if (start < 0) { start = 0; } if (end < 0) { end = 0; } return str.substring(start, end); } }