Hirdetés
- Luck Dragon: Asszociációs játék. :)
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- sziku69: Fűzzük össze a szavakat :)
- D@reeo: Pi-hole és a Telekom Sagemcom F@st 5670 DNS beállítása
- Mr Dini: Mindent a StreamSharkról!
- Gurulunk, WAZE?!
- GoodSpeed: A RAM-válság és annak lehetséges hatásai
- bb0t: Ikea PAX gardrób és a pokol logisztikája
- potyautas: A Magyar Néphadsereg emlékére
- sziku69: Szólánc.
Új hozzászólás Aktív témák
-
WonderCSabo
félisten
válasz
Peter Kiss
#3373
üzenetére
Meg persze ha változik az interface, az adaptert módosítani kell. Semmiképpen nem lehet megúszni azt, hogy másik osztályt ne kelljen átírni.
-
WonderCSabo
félisten
válasz
Gyuri16
#3362
üzenetére
Azért meg lehet oldani simán a thread-safe legyen, általában ezt szoktam használni:
public class Singleton {
private Singleton() { }
private static class SingletonHolder {
public static final Singleton INSTANCE = new Singleton();
}
public static Singleton getInstance() {
return SingletonHolder.INSTANCE;
}
} -
WonderCSabo
félisten
Ott vmi gáz lesz, mert a SwingWorkernek pont az a lényege, hogy a doInBackground fv, amit az execute hív meg, egy külön szálon fut le.
Cím:
UIManager.put("ProgressMonitor.progressText", "Progress title?");
-
WonderCSabo
félisten
Sztem meg kell találni a kompromisszumot az enkapszuláció stb. megvédése és a józan kód között. Például sztem az ocsmány, ha az összes elem hozzáadására nem biztosítasz fv-t, hanem a hívóra hagyod azt, csomó kód duplikációt stb eredményezve, pedig ezt gyakori feladatot az adott osztálynak kéne biztosítania.
-
WonderCSabo
félisten
válasz
Peter Kiss
#3311
üzenetére
Már hogy ne lehetne?
public void setTires(List<Tyre> t) {
this.tires.clear();
this.tires.addAll(t);
}Meghívod így:
List<Tyre> l = new ArrayList<>();
l.add(new Tyre(10));
car.setTires(l);
l.get(0).changeTyre(); // ez a fv. megváltoztatja az Tyre-t valamilyen módon
// a Car-ben ugyanerre van referencia, tehát abban lévő is megváltozik -
WonderCSabo
félisten
válasz
Peter Kiss
#3309
üzenetére
Így is lehet kívülről változtatni, csak nem az egész listát egyben, hanem kerekenként.
-
WonderCSabo
félisten
Nyilván szeretett volna egy olyan metódust, ami egyszerre az összes kereket lecseréli. A setTires nevéből is ítélve én ezt így csináltam volna:
public class Car {
private List<Tyre> tires = new ArrayList<Tyre>();
public void setTires(List<Tyre> t) {
this.tires = t;
}
// Egyéb lekérdező metódusok
} -
WonderCSabo
félisten
A Java mindenhol referenciákat használ (kivéve a primitív típusokat, de itt most nincs olyan). Feltételezem a car.getTires() fv. car.tires listát adja vissza. Mivel referenciákról van szó, ekkor a main lokális változója, a carTires illetve a car.tires mező ugyanarra az objektumra fog mutatni. Ezután átadod a car.setTires(carTires) - el a carTirest, ami törli a belső saját listát. De a carTires is a belső listára mutat, tehát ugyanazt a listát törlöd ki! Ezután hozzáadod a belső listához ugyannak a már üres listának az elemeit, nyilván továbbra is üres marad.
Ez egy ismert jelenség, és direkt kitaláltak rá olyan mintákat, amivel ezt el lehet kerülni. Az egyik ilyen megoldás a defensive copy.
-
WonderCSabo
félisten
válasz
pakriksz
#2824
üzenetére
Próbáld meg így:
try {
URL u = new URL("http://wikipedia.org");
URLConnection uc = u.openConnection();
BufferedReader br = new BufferedReader(new InputStreamReader(new BufferedInputStream(uc.getInputStream())));
System.out.println(br.readLine());
} catch (IOException e) {
e.printStackTrace();
} -
WonderCSabo
félisten
válasz
SektorFlop
#2809
üzenetére
Nem ismerem az Android GUI elemeket, így erre nem tudok megoldást mondani.
(Ha vmi sima panel lenne, akkor triviális megoldásként beraknék egy újabbat alá sortörés esetén) -
WonderCSabo
félisten
válasz
Taoharcos
#2806
üzenetére
Sztem a két kód között vagy kapcsolat van, és a másodikra vonatkozott, hogy állítólag nem fut le.
RexpecT: Tuti lefut az, csak max Te nem látod az eredményét, mert hibás a logika. Rakj oda egy breakpointot és debugoljad, vagy az initLoad() fv. első sora legyen egy syso hívás, és meglátod, hogy lefut-e a fv.
-
WonderCSabo
félisten
válasz
Chipi333
#2799
üzenetére
Köszi a választ, én is pont ezt a megoldást ötleteltem ki magamban. Persze igazából reménykedtem, hogy vmi high level pool jó lesz nekem ehhez, de sajnos különböző okok miatt saját megoldást kellett használnom.
SektorFlop: Én a setIndicator() fv-edet nem tudom, hogy mit csinál, de a String -ben így tudod kicserélni a szóközt sortörésre:
String s = "sor tores";
s = s.replace(" ", "\n"); -
WonderCSabo
félisten
Sziasztok!
Most nekem is lenne egy kérdésem. Threadeket tárolok egy konténerben. Idővel, a threadek egy része még mindig fut, másik része már meghalt. Kérdésem az lenne, hogy hogyan lehetne legértelmesebb módon automatikusan (vagy periodikusan) ezeket a halott Threadeket eltávolítani a konténerből?
-
WonderCSabo
félisten
válasz
King Charles
#2788
üzenetére
public class Stopper {
private long startTime;
public static void main(String[] args) {
Stopper stopper = new Stopper();
stopper.start();
try {
Thread.sleep(4000);
// itt dolgozik vmit a progid
} catch (InterruptedException e) {
}
System.out.println("elapsed: " + stopper.stop() / 1000 + " seconds");
}
public void start() {
startTime = System.currentTimeMillis();
}
public long stop() {
return System.currentTimeMillis() - startTime;
}
} -
WonderCSabo
félisten
-
WonderCSabo
félisten
válasz
RaPiDsHaRe
#2773
üzenetére
Direkt JPA projectet akarsz csinálni? Én személy szerint azt sem tudod, mi ez a JPA. Eclipse-ben simán File -> New -> Java project
-
WonderCSabo
félisten
válasz
RaPiDsHaRe
#2771
üzenetére
Beírtad a projekt nevét?
-
WonderCSabo
félisten
válasz
RaPiDsHaRe
#2769
üzenetére
Nem kell next next. Beírod a projekt nevét, és alul megnyomot a Finisht és kész is vagy.
-
WonderCSabo
félisten
válasz
RaPiDsHaRe
#2767
üzenetére
Mindenképpen ebből a kettőből választanék. Igazából mindkettő elég hasonló, és mindkettőhöz lehet pluginokat is feltelepíteni a funkcionalitás bővítéséhez. Én az Eclipset személy szerint jobban szeretem, számomra egyetlen hátránya, hogy a Swing GUI buildre gagyibb a NetBeansesnél. Sztem próbáld ki mindkettőt.
-
WonderCSabo
félisten
Előbb véletlenül osztályt írtam. Tehát a getClass() az objektum sémáját, mintáját, az osztály leírását adja vissza. Nem a this - ét, azt amelyik objektumra meg lett hívva. Pl. ezt is lehetne:
String s = "dfdf";
s.getClass();Csak az előbbi példakódban pont a this - re lett meghívva.
-
WonderCSabo
félisten
Név és kiterjesztés is kell, minden fájl esetén, minden programozási nyelvben.
A getClass() - al pedig egy osztály sémáját tudja lekérdezni (jelen esetben a this - ét), és ennek metódusaival, mezőivel, stb. tud machinálni. Itt a JAR-ban lévő resource kinyerése miatt kellett a getResourceAsStream() meghívásához.Egyébként külső fájl esetén ilyen egyszerű létrehozni egy Scanner objektumot:
Scanner sc = new Scanner(new File("a txt neve"));
-
WonderCSabo
félisten
válasz
WonderCSabo
#2675
üzenetére
Most vettem észre, hogy a Lacess által mutattot kód egy C# kód. Nagyon gyanús volt nekem, és igazam lett: az a kód Javában le sem fordul, és nem a C#-os szintaktika és függvénynevekre gondolok, hanem Javában az ilyen fajta implicit castolás nem engedélyezett, a nem generices collection esetén, hiszen semmi sem garantálja, hogy valóban ilyen típusú elemek vannak benne. Természetesen az explicit castolás lehetséges, és ilyen rossz típus esetén exceptiont is dobál a Java. Tehát helyesen:
ArrayList<Ember> list = new ArrayList<Ember>();
list.add(new Ember());
list.add(new Ember());
list.add(new Ember());
for(Ember ember : list)
System.out.println(ember); -
WonderCSabo
félisten
válasz
JokerStars
#2673
üzenetére
Lacess által ajánlott ArrayList teljesen jó a célra. A generikus megoldás jobb, mert ha csak egyféle elemet tárolsz, akkor biztosított, hogy nem raksz bele mást, és nem kapsz vmi expcetiont a castoláskor.
-
WonderCSabo
félisten
Az öröklődés azt jelenti, hogy a gyerek mindent örököl az ősétől. Csak egyes dolgokat nem tud közvetlenül elérni.
A gyermek megtudja hívni az elfedett statikus adatmezőket és metódusokat?
Az elfedés pont azt jelenti, hogy az ami az ősben volt, azt nem látszik a gyerekben, mert azokat új metódusok elrejtik. Az elrejtő metódusokat tudod meghívni a gyerekben.
-
WonderCSabo
félisten
Mivel a statikus metódus magára az osztályra vonatozik, nem a példányra, ezért az osztályra hivatkozva szokás elérni, és nem is kell példányosítani hozzá az osztályból egy objektumot sem.
class MyClass {
static public void func() {
System.out.println("Hello World!");
}
}
public class Main {
public static void main(String[] args) {
MyClass.func();
}
} -
WonderCSabo
félisten
Hello!
Próbálkozott itt vki Eclipse Subversive alá 1.3.7-es (tehát SVN 1.7-et támogató) SVNKitet felrakni? Mert sajnos nekem nem sikerült.

Új hozzászólás Aktív témák
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- BLUEO Prémium iPhone & Apple Watch kiegészítő készlet EGYBEN ELADÓ nagyker áron!
- Xiaomi Redmi Note 12s 256GB, Kártyafüggetlen, 1 Év Garanciával
- iPhone 16 Pro max 256GB gyári független 2028.02.17. Apple jótállás
- PS5 Digital Edition (CFI-1116B)
- Samsung Galax S23 Ultra 256GB, Kártyafüggetlen, 1 Év Garanciával
- ÁRGARANCIA!Épített KomPhone i7 14700KF 32/64GB RAM RX 9070 XT 16GB GAMER PC termékbeszámítással
- Lenovo Tab M10 32GB, Kártyafüggetlen, 1 Év Garanciával
- Apple iPhone 16 - Black - 128GB - Akku: 100% - ÚJ - BONTATLAN - 1 ÉV APPLE JÓTÁLLÁS - FÜGGETLEN
- BESZÁMÍTÁS! MSI X99A i7 5820K 16GB DDR4 240GB SSD 1TB HDD GTX 1050Ti 4GB Deepcool Ducase V2 600W
- BESZÁMÍTÁS! 4TB Western Digital Purple SATA HDD meghajtó garanciával hibátlan működéssel
Állásajánlatok
Cég: ATW Internet Kft.
Város: Budapest
Cég: BroadBit Hungary Kft.
Város: Budakeszi

(Ha vmi sima panel lenne, akkor triviális megoldásként beraknék egy újabbat alá sortörés esetén)

