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
Valutaspekulanter rydder grafikkort-lagrene hos ProShop igen og igen: "Det er helt vanvittigt for tiden"
Den nye kryptovaluta ethereum presser markedet for grafikkort voldsomt i disse måneder. For grafikkort anvendes til at udvinde valutaen. "Det er helt vanvittigt for tiden. Siden etherum-valutaen slog igennem i slutningen af 2016, har vi stort set ikke kunne holde grafikkort på lagrene, før de bliver solgt," lyder det fra ProShop.
CIO
Stabil it-drift er ikke længere nok: It-chefen og it-organisationerne skal op i gear og fokusere på nye områder
It-organisationerne skal blive bedre til at levere stabil it-drift, men selv det er ikke nok til at sikre succes i virksomheden. It-cheferne skal omskrive deres jobbeskrivelse, lyder en anbefaling.
Comon
AMD-nyheder: Så (vanvittig) kraftfuld er Ryzen Threadripper 1950X i tests
AMD’s nyeste 16-kernede processor æder alle andre forbruger- og entusiast-processorer til morgenmad.
Job & Karriere
Se listen: Disse it-folk bliver ansat på stedet - cheferne skriger efter helt bestemte it-kompetencer
Der er en markant mangel på it-folk med helt bestemte kompetencer samtidig med, at it-cheferne er i gang med at øge bemandingen i it-organisationerne. Se listen med de mest efterspurgte it-kompetencer netop nu.
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.