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
Danske netbanker og Nets ramt af massive it-problemer: Her er årsagen
Opdateret torsdag morgen: En stribe danske netbanker samt Nets var onsdag ramt af store problemer med blandt andet betalinger og pengeoverførsler. Samtidig blev DSB ramt af et totalt nedbrud.
CIO
Her udvikler Atea innovative løsninger: "Vi har været nødt til afskedige folk, fordi de hang fast i deres erfaring og antagelser fra fortiden"
Interview: Danmark lider ikke af mangel på teknologi, men af en mangel på visionære teknologiske løsninger, mener Natasha Friis Saxberg, direktør for Ateas nye Future Growth Lab. Hun anbefaler, at man ikke giver udviklings-afdeling mange penge. "Putter du for mange penge i denne type projekter mister man en del af det pres, der kendetegner startup-virksomheder," siger hun.
Comon
Anmeldelse: Flitsbuer og mekaniske fortidsøgler forenes på smukkeste vis i Horizon: Zero Dawn
Fremtids teknologi og stammesamfund blandes i knap så original, men imponerende spil-blockbuster.
Channelworld
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.