bvirk Seniormester
17. februar 2017 - 14:39 Der er 2 kommentarer og
1 løsning

substring uden IndexOutOfBoundsException

Har Java ikke en "kast IKKE exception - afkort til max længde" substring(beg,end) eller andet?

Skal man absolut ud i indeks gymnastik:

final int maxTitleLen=15;
int titleLen=f.getName().length() > maxTitleLen ? maxTitleLen : f.getName().length();
ret +="<title>"+f.getName().substring(0,titleLen)+"</title>" +
...


eller stadig lidt tungt, tvingende til gentagelse af koblede udtryk:
import static utils.Oraclerounds.maxStringLength;
...
ret +="<title>"+f.getName().substring(0,maxStringLength(f.getName(),15))+"</title>" +
...


givet eksempelvis: Oraclerounds.java

package utils;

public class Oraclerounds {
    public static int maxStringLength(String s, int wish) {
        return s.length() <= wish ? s.length() : wish;
    }
}
arne_v Ekspert
17. februar 2017 - 15:04 #1
Jeg mener ikke der er en i Java standard bibliotek.

Jeg kan ihvertfald ikke lide:

String.format(|%." + MAX_TITLE_LEN + "s", f.getName());

(jeg kan ikke faa * til at virke)

Jeg ville nok bruge:

f.getName().substring(0, Math.min(f.getName().length(),MAX_TITLE_LEN))
arne_v Ekspert
17. februar 2017 - 15:06 #2
ignorer den |
det er en leftover
bvirk Seniormester
17. februar 2017 - 15:50 #3
Det er jo både en standard funktion og retvisende med Math.min. Så er der ikke noget jeg har overset - man er nød til at anvende strengen som parameter endnu en gang.
Tak for det.
Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links

Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester





Computerworld
Med ny iOS-opdatering vil du selv kunne slå udskældt batterifunktion fra på din iPhone
Apple har sænket ydeevnen på ældre iPhones for at få batteriet til at holde længere, men nu fortæller Tim Cook, at du i fremtiden selv kan slå funktionen fra.
CIO
Opråb til ERP-leverandørerne: Stram op - I opfører jer uanstændigt
Klumme: Hvorfor kan ERP-projekter ikke leveres til fastpris ligesom andre systemer? Hvordan kan ERP-leverandørerne slippe afsted med at opføre sig uanstændigt? ERP-leverandørerne har et alvorligt problem og er nødt til at gøre det bedre. Se nogle af mine vilde eksempler fra den danske it-branche her.
Comon
LG stopper al udvikling af LG G7: Begynder helt forfra få måneder før lancering
Ifølge et velanset koreansk investormedie har LG’s CEO beordret fuld stop på udviklingen af LG G7 og starte forfra
Job & Karriere
Dansk it-virksomhed indførte fire-dages arbejdsuge: I dag er sygefraværet rekord-lavt og direktøren har tabt sig 13 kilo
Interview: Great Place To Work kategori-vinderen IIH Nordic har indført en fire-dages arbejdsuge og taget et opgør med forstyrrende storrums-kontorer og en frustrerende mailkultur. I dag er medarbejderne gladere end nogensinde før.
White paper
Mobility - her er de aktuelle udfordringer
Hvad med sikkerheden? Mobility-bølgen fejer igennem danske virksomheder, og der er masser af muligheder og faldgruber. Sikkerheden halter, men det kan der gøres noget ved. Produceret af Computerworld.dk i oktober 2014.