- Fórumok
- Szoftverfejlesztés
- Java programozás
- (kiemelt téma)
- Luck Dragon: Asszociációs játék. :)
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- gban: Ingyen kellene, de tegnapra
- Luck Dragon: Alza kuponok – aktuális kedvezmények, tippek és tapasztalatok (külön igényre)
- sziku69: Fűzzük össze a szavakat :)
- djculture: Az elvileg már senkinek nem kellő HDD-k ára is egekbe emelkedett 4 hónap alatt
- eBay-es kütyük kis pénzért
- Gurulunk, WAZE?!
- Archttila: SMART tesztelés automatizálva: smartctl poller script Zsh-ban, RPi-re
- btz: Internet fejlesztés országosan!
-
Fórumok
LOGOUT - lépj ki, lépj be!
LOGOUT reakciók Monologoszféra FototrendGAMEPOD - játék fórumok
PC játékok Konzol játékok MobiljátékokPROHARDVER! - hardver fórumok
Notebookok TV & Audió Digitális fényképezés Alaplapok, chipsetek, memóriák Processzorok, tuning Hűtés, házak, tápok, modding Videokártyák Monitorok Adattárolás Multimédia, életmód, 3D nyomtatás Nyomtatók, szkennerek Tabletek, E-bookok PC, mini PC, barebone, szerver Beviteli eszközök Egyéb hardverek PROHARDVER! BlogokMobilarena - mobil fórumok
Okostelefonok Mobiltelefonok Okosórák Autó+mobil Üzlet és Szolgáltatások Mobilalkalmazások Tartozékok, egyebek Mobilarena blogokIT café - infotech fórumok
Infotech Hálózat, szolgáltatók OS, alkalmazások SzoftverfejlesztésFÁRADT GŐZ - közösségi tér szinte bármiről
Tudomány, oktatás Sport, életmód, utazás, egészség Kultúra, művészet, média Gazdaság, jog Technika, hobbi, otthon Társadalom, közélet Egyéb Lokál PROHARDVER! interaktív
Új hozzászólás Aktív témák
-
Taoharcos
aktív tag
Szia.
[SanFranciscobol Jottem]
[Java Brains]
[Amigoscode]
így hirtelen. -
Drizzt
nagyúr
Sziasztok!
Java Programming Masterclass covering Java 11 & Java 17
Lassan elérek ebben a kurzusban a JavaFX-hez. Érdemes rászánnom azt a 10 órát? Az a terv, hogy miután végeztem belevágok valami saját hobbi projektbe (még nem tudom mibe
) Saját projekthez lehet, hogy jól jönne a JavaFX, viszont konkrét projekteknél, gondolom már nem használják. Inkább web-alkalmazásban kellene gondolkoznom pl. SpringBoot és ebben készíteni egy projektet?Köszi!
Igen, JavaFX-et nem valószínű, hogy egy átlag Java fejlesztői munkakörben fogsz látni a közeljövőben. Egyébként azért van értelme hallani róla, de túl sok enrgiát beleölni talán nem.
Spring boot meg hasznos és végtelen kereslet van rá, úgyhogy érdemes arra ráfeküdni. -
n00b
csendes tag
Mi a célod a Java-val?
Ha dolgozni akarsz a területen, akkor ne csak sima programozási feladatokat gyakorolj. Az csak a jéghegy csúcsa. Írj vállalati környezetben használható dolgokat, pl. webservice-t, javas SQL lekérést stb. Ha már jól mennek az alapok, megtanulhatsz valamilyen frameworköt is, pl. Springet. Nekem pl. az egyik gyengém, hogy csak a core java-t ismerem. (Igaz már nem vagyok olyan n00b, mint 5 éve, amikor ezt a profilt csináltam.)
Java-s álláskeresésben már komoly tapasztalatom van. Legutóbb 8 nap alatt találtam állást. Ha gondolod, írhatsz privátban.
-
Zsoxx
őstag
-
Sirpi
senior tag
Ilyesmire gondolsz, hogy például oldjam meg a Fibonacci-t rekurzióval és ciklussal is: ?
public class Fibonacci{
public static void main(String[] args) {
System.out.println(fibonacciRecursion(3));
System.out.println(fibonacciLoop(3));
}
public static int fibonacciRecursion(int n) {
if (n <= 1)
return n;
return fibonacciRecursion(n - 1) + fibonacciRecursion(n - 2);
}
public static int fibonacciLoop(int n) {
int[] arr = new int[n + 1];
for (int i = 0; i < arr.length; i++) {
if (i <= 1)
arr[i] = i;
else
arr[i] = arr[i - 1] + arr[i - 2];
}
return arr[n];
}
}Én mind a két implementációt optimalizálnám.
Az elsőnél az a gond, hogy így baromi lassú, F(n)-t pont F(n) időben fogja kiszámolni, tehát lineáris helyett exponenciális lesz a futásidő. Ezen a már kiszámolt értékek eltárolásával lehet segíteni. Próbáld nagyobb értékkel futtatni, azt hiszem, az int-be 44-ig nem csordul túl, de ha átírod long-ra, akkor 89-ig próbálkozhatsz, azt pedig már lehetetlen kivárni.
A másodiknál pedig felesleges lefoglalni egy teljes tömböt, elég tudni mindig a két utolsó értéket:
if (n <= 1)return n;int a = 0;int b = 1;for (int i = 2; i <= n; i++) {int c = a + b;a = b;b = c;}return b; -
disy68
aktív tag
Akkor sanszosan a szokásos fizzbuzz/fibonacci jellegű feladatokra lehet számítani meg ilyen oldd meg iterációval/rekurzióval. Ha esetleg ennél több energiát fektetnének a dologba, akkor valami saját példa, amiből esetleg kiderül, hogy hogyan állsz hozzá egy feladathoz, hogyan gondolkodsz, ilyesmi.
Én annyit tanácsolok, hogy gondolkodj hangosan és ha a feladatnál értelmezhető, akkor kérj egy teszt esetet (bemenet-kimenet). És hajrá
-
Drizzt
nagyúr
Annyira valtozatos, hogy nem lehet megjosolni. Kezdve a miert kerek a csatornafedelen at a mi a kulonbseg a kompozicio es a leszarmazas kozotton at a melyik lista implementacion gyorsabb az iteracioig barmi elofordulhat.
-
Zsoxx
őstag
-
Drizzt
nagyúr
Programozas topicban kert valaki segitseget, hogy programozzanak le neki valamit. Erre mindenki elkuldte a francba, hogy mit kepzel, hogy ingyen dolgoztatna embereket. Viszont ha nincs otleted mit csinalni, szerintem pont kapora johet.
-
Zsoxx
őstag
-
Zsoxx
őstag
-
Drizzt
nagyúr
Sziasztok!
package com.sec.config;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;
import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
@EnableGlobalMethodSecurity(securedEnabled = true)
@Configuration
public class SecurityConf extends WebSecurityConfigurerAdapter{
@Autowired
public void configureAuth(AuthenticationManagerBuilder auth) throws Exception {
auth
.inMemoryAuthentication()
.withUser("sfjuser")
.password("{noop}pass")
.roles("USER")
.and()
.withUser("sfjadmin")
.password("{noop}pass")
.roles("ADMIN");
}
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.authorizeRequests()
.antMatchers("admin/**").hasRole("ADMIN")
.anyRequest().authenticated()
.and()
.formLogin()
.loginPage("/login.html")
.permitAll()
.and()
.logout()
.logoutSuccessUrl("/login?logout")
.permitAll();
}
}Nem találja a login.html-t, pedig a templates mappában van. Van ötletetek miért?
Az elkészülő - feltétlezem JAR-ban is benne van? Ha igen, ott, ahol lennie kellene?
Ha nincs felülírva, akkor a /static, vagy /public mappában kellene lennie a classpathon futási időben.
Ha nincs ott, akkor maven, vagy gradle setup lesz a probléma. Vagy ha esetleg csak IDE-ben nem megy java -cp-s futtatással, akkor az IDE-ben kell megkeresni azt, hogy miért nem olyan classpathot rak össze futtatáskor, mint amit kellene. -
Taoharcos
aktív tag
Sziasztok!
Spring Boot 2.4.3:
Nem tudom miért nem hajtja végre a schema-h2.sql utasításokat.pom.xml dependency:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>application.properties:
spring.thymeleaf.cache=false
spring.web.locale-resolver=fixed
spring.web.locale=en
spring.h2.console.enabled=true
spring.h2.console.path=/db
spring.datasource.url=jdbc:h2:mem:testdbschema-h2.sql:
DROP TABLE IF EXISTS Blogger;
CREATE TABLE Blogger(
id bigint NOT NULL,
name varchar(100),
age int,
PRIMARY KEY (id)
);DROP TABLE IF EXISTS Story;
CREATE TABLE Story(
id bigint NOT NULL,
title varchar(100),
content varchar(400),
posted date,
blogger_id int,
PRIMARY KEY (id)
);Tud valaki segíteni?
Köszi!
Szia!
A resources-ba schema.sql-ként vagy data.sql-ként legyen és akkor létrejön. De a schema.sql a jobb megoldás.
A pom.xml-ben ez is benne van:<dependency>?
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<scope>runtime</scope>
</dependency>
San Franciscoból jöttem?
Üdv, Zoli -
Csaby25
őstag
-
Drizzt
nagyúr
Sziasztok!
Adott két properties file:application.properties és application-dev.properties
Tudja valaki, hogy a Spring Boot miért nem tud kiolvasni a második file-bol?
@Value("${msg}")
private String message;Nem tudja kiolvasni az msg-t csak ha az első file-ba teszem, miért
?Hiba: Could not resolve placeholder 'msg' in value "${msg}"
Köszi!
Meg kell mondani az alkalmazasnak inditaskor, hogy melyik profilokat hasznalja. Application.properties by default mindig beolvasasra kerul, a - dev-hez aktivalni krll a dev profile-et. Asszem ha jar-kent inditod, akkor - Dspring.profiles.active=dev a megfleelo kulcsszo, de fejbol irom, lehet rossz.
-
floatr
veterán
-
Drizzt
nagyúr
Jdk SE eleg. En mondjuk inkabb Intellij community-val allnek neki, meg ha joval baratsagtalanabb is, mint az Ultimate. De azert arra meg nem vettem ra magam, hogy otthonra is megvegyem az Ultimate-et. Nehany pluginnal a community is eleg jo a Springhez.
-
Csaby25
őstag
Sziasztok!
public static int[] rotate(int[] array) {array1[0] = array[4];for (int i = 1; i < 5; i++) {array1[i] = array[i - 1];}return array1;}array2 = rotate(array);
System.out.println(Arrays.toString(array2));
array3 = rotate(array2);System.out.println(Arrays.toString(array2));Meg tudná mondani valaki, hogy miért változik meg az array2 értéke a második kiíratásnál (csupa 4-es lesz
)?Köszi!
Közben rájöttem. Bocsi, hülye kérdés volt
. Gondolom azért mert array2 és array3 ugyanarra mutat és ha egyiket változtatom a másik is változik.. -
Szmeby
tag
Szia.
Ok leírom röviden. Volt rá lehetőségem, hogy elvégezzek egy gyorstalpaló tanfolyamot, 6 hónap, heti 2 óra... Java, React és .NET közül a Java-t választottam. Nem sok idő, de elég volt arra, hogy felkeltse az érdeklődésemet, szeretném tovább fejleszteni magam, egyelőre tetszik a backend, de úgy gondolom, hogy még nem rendelkezek, annyira ismerettel, hogy el tudjam dönteni, hogy mozduljak - e frontend irányba vagy sem. Sajnos csak Java SE-vel fogalkoztunk, EE csak említve volt. Egyelőre szeretném befejezni a San Franciscóból jöttem tanfolyamot, illetve a a Udemy-ről ezt: [link]
Majd szeretnék egy nagyobb projektet készíteni amit be lehet mutatni egy állásinterjún.
8 órás állás és két gyerek mellett sajnos nem tudok úgy haladni ahogy szeretnék...
Bármilyen ötletet - tanácsot elfogadok ami segíthetne ebben.
Gondolom ha frontend akkor Android, vagy ott mér inkább a Kotlin-t részesítik előnyben?Bocsi , ha egy kicsit hosszúra sikerült.
Köszi!
Én ezzel úgy vagyok, hogy mivel a technológiák úgyis jönnek-mennek, nettó időpazarlásnak érzem bármilyen céleszköz megtanulását.
A java gyermekkorában csak az awt eszközkészlet állt rendelkezésre, hogy az ember desktop guit gyártson jávában, de elég lowlevel volt, platformonként eltért a végeredmény. Aztán évek múltán ráhúzták a swinget, amivel már egészen egységes látványt lehetett rajzolni és elég sokáig életben is maradt ez az eszköz. Bár az awt ismeretek jól jöttek, de azért kellett új kocepciókat újratanulni. Majd néhány (sok) évvel ezelőtt valamilyen megfontolásból - feltételezem, modernizálási célzattal -, készítettek egy másik eszközt desktop gui rajzoláshoz, elnevezték javafx-nek, és ugyanazzal a lendülettel deprecated is lett a swing. Nyilván teljesen más koncepciók mentén készült, így megint kellett rengeteget tanulni. Nem mintha ítélkeznék e fölött, mert egyikhez sem volt túl sok közöm. Aztán néhány (már nem olyan sok) évvel ezelőtt azt mondták, hogy oké, most már a javafx-et sem támogatjuk, halott világ a desktop gui világa, a web a jövő.
És ez csak egy példa a sok közül, egyszerűen nem lehet mindent is életben tartani, így végső soron azok lesznek a túlélők, akik általános megoldást tudnak nyújtani számtalan problémára... vagy ha képesek a készítőik végtelen ideig fenntartani a hype-ot az eszközük körül, esetleg végtelen pénzzel megtámogatva nem jelent nekik gondot a támogatás finanszírozása.A lényeg, amit ki akartam hozni mindebből, hogy desktop gui építésre való eszközzel nem igazán lehet webappot csinálni. Webapp ismeretekkel viszont bármit készíthetek, ami elfut egy böngészőben, és azt a böngészőt akár egy desktopon is lehet üzemeltetni. Van overhead, igen, nem optimális megoldás, igen. Fejlesztőként viszont nekem fontosabb, hogy milyen gyorsan avul el a tudásom. Szívesen tanulok meg egzotikumokat is, ha az feltétlenül szükséges egy munka elvégzéséhez. Már csak azért is, mert adhat egy másfajta nézőpontot, amit a mainstream-től sose kapnék meg. De attól még nem feltétlenül szívatom magam olyan felesleges dolgok megtanulásával, amelyekre néhány éven belül várhatóan csak egy szűk rétegnek lesz igénye.
Annak a megítélését pedig, hogy a desktop mennyire halott és a javafx mennyire felesleges, másra bízom, mert nem áll szándékomban a saját jövőképemet / ízlésemet másra erőltetni. Mindenki döntse el maga, miben látja a jövőt. A zsákutcákat úgy általában én elkerülném. Pláne akkor, ha az embernek erősen korlátozott a rendelkezésre álló ideje. Még egy ok, hogy fókuszáltan, a lehető legrövidebb idő alatt a lehető legszéleskörűbb ismeretetet szedje fel.
Aki meg szeret kockáztatni, az kinézhet magának egy ritka egzotikumot, arra építve, hogy senki sem tanulja, mert mindenki utálja, igény viszont van rá (elavult banki mainframe-en futó szoftverek megvannak?), és majd jó zsíros fizetést lehet elkérni a melóért. Annyira egyénfüggő, hogy mi a jó választás, ki mit szeret.
--- szerk.: Az android / ios ugyanez az általános vs céleszköz téma pepitában. Egy androidon is van böngésző, ergo egy webapp azon is működik, és zéró android ismeret felszedése kell hozzá.
-
.45
csendes tag
-
Csaby25
őstag
Szia.
Ok leírom röviden. Volt rá lehetőségem, hogy elvégezzek egy gyorstalpaló tanfolyamot, 6 hónap, heti 2 óra... Java, React és .NET közül a Java-t választottam. Nem sok idő, de elég volt arra, hogy felkeltse az érdeklődésemet, szeretném tovább fejleszteni magam, egyelőre tetszik a backend, de úgy gondolom, hogy még nem rendelkezek, annyira ismerettel, hogy el tudjam dönteni, hogy mozduljak - e frontend irányba vagy sem. Sajnos csak Java SE-vel fogalkoztunk, EE csak említve volt. Egyelőre szeretném befejezni a San Franciscóból jöttem tanfolyamot, illetve a a Udemy-ről ezt: [link]
Majd szeretnék egy nagyobb projektet készíteni amit be lehet mutatni egy állásinterjún.
8 órás állás és két gyerek mellett sajnos nem tudok úgy haladni ahogy szeretnék...
Bármilyen ötletet - tanácsot elfogadok ami segíthetne ebben.
Gondolom ha frontend akkor Android, vagy ott mér inkább a Kotlin-t részesítik előnyben?Bocsi , ha egy kicsit hosszúra sikerült.
Köszi!
Ezt írhattam volna egy új hozzászólásban is, de mivel mobal kérdezett, ezért neki válaszoltam, de bárkitől elfogadok tanácsot. Köszi!
-
mobal
nagyúr
-
Szmeby
tag
Minimális. Inkább java és javafx tudás szükséges hozzá.

Javafx-ben is van lehetőség xml-ben felépíteni a gui-t (és abban is ajánlják), de a html ismeretekből itt szinte semmi sem hasznosítható. Legfeljebb a gondolkodásmód.
A css inkább lehet hasznodra, azt támogatja, de ebből is inkább az alap, standard megoldások. Egy desktop app kinézetét nyilván nem befolyásolják a böngészőspecifikus megoldások. Ellenben van benne egy rakás javafx-specifikus megoldás.Bár egy javafx alkalmazáson belül hozhatsz létre WebView-t, ami egy böngészőt emulál, és abba dobhatsz be html, sőt javascript kódot, de ez marginális fícsör. Aki javafx-et használ nem azért teszi, hogy böngészőt futtasson a hasában. Arra ott a natív böngésző.
-
Zsoxx
őstag
-
mobal
nagyúr
Sziasztok! Elkezdtem Spring boot-ot tanulni és letöltöttem az STS (Spring Tool Suite)-t. A kérdésem az, hogy használhatom akkor is ha csak sima java-t írok Spring nélkül (van valami hátránya az Eclipse-hez képest ebben az esetben), vagy erre inkább használjam a sima Eclipse-t továbbra is? Köszi.
Az egyetlen értelmes ide az IDEA, mással nincs értelme 2020-ban foglalkozni - szerintem. És most kapni fogom a savat.
-
Taoharcos
aktív tag
-
Taoharcos
aktív tag
-
Taoharcos
aktív tag
Sziasztok! Elkezdtem Spring boot-ot tanulni és letöltöttem az STS (Spring Tool Suite)-t. A kérdésem az, hogy használhatom akkor is ha csak sima java-t írok Spring nélkül (van valami hátránya az Eclipse-hez képest ebben az esetben), vagy erre inkább használjam a sima Eclipse-t továbbra is? Köszi.
Nyugodtan használhatod sima javahoz. De Eclipse-t is tudsz használni Spring Boot-hoz, van hozzá a marketplace-n kiegészítő.
-
skoda12
aktív tag
Sziasztok! CSV akarok JSON - ba alakitani.
CSV:1;Reka
2;Zita
3;Nora
4;Simon
5;Elek
6;Geza
7;Ella
8;Kolos
9;Antal
10;ViolaA ket metodus amit hasznalok:
public static List<Map<?, ?>> readObjectsFromCsv(File file) throws IOException {CsvSchema bootstrap = CsvSchema.emptySchema().withHeader();CsvMapper csvMapper = new CsvMapper();MappingIterator<Map<?, ?>> mappingIterator = csvMapper.reader(Map.class).with(bootstrap).readValues(file);return mappingIterator.readAll();}public static void writeAsJson(List<Map<?, ?>> data, File file) throws IOException {ObjectMapper mapper = new ObjectMapper();//mapper.enable(SerializationFeature.INDENT_OUTPUT);mapper.writeValue(file, data);}
Igy hivom meg oket:List<Map<?, ?>> data = readObjectsFromCsv(studentFile);writeAsJson(data, studentJson);A gond az hogy ezt a json-t gereralja:
[
{
"1;Reka": "2;Zita"
},
{
"1;Reka": "3;Nora"
},
{
"1;Reka": "4;Simon"
},
{
"1;Reka": "5;Elek "
},
{
"1;Reka": "6;Geza"
},
{
"1;Reka": "7;Ella "
},
{
"1;Reka": "8;Kolos "
},
{
"1;Reka": "9;Antal"
},
{
"1;Reka": "10;Viola"
}
]Vagyis veszi az elso sort es beteszi kulcsnak az osszes tobbi sorhoz

Mi lehet a gond?
Koszi!Rosszul használod a CsvSchemat. Pl nincs header a fájlodban, de withHeader() metódust hívsz. Aztán honnan tudná szegény, hogy te melyik oszlopot milyen kulcshoz akarod mappelni a jsonban? Itt le van írva szépen, hogy milyen lehetőségeid vannak a javításra.
-
Bici
félisten
Sajna úgy sem jó:
[
{
"1": "2",
"Reka": "Zita"
},
{
"1": "3",
"Reka": "Nora"
},
{
"1": "4",
"Reka": "Simon"
},
{
"1": "5",
"Reka": "Elek "
},
{
"1": "6",
"Reka": "Geza"
},
{
"1": "7",
"Reka": "Ella "
},
{
"1": "8",
"Reka": "Kolos "
},
{
"1": "9",
"Reka": "Antal"
},
{
"1": "10",
"Reka": "Viola"
}
]Akkor splitteld fel soronként utána a pontosvessző szerint.
És az így létrjövő kétdimenziós tömböt könnyen ki tudod tolni json-be. -
Bici
félisten
Sziasztok! CSV akarok JSON - ba alakitani.
CSV:1;Reka
2;Zita
3;Nora
4;Simon
5;Elek
6;Geza
7;Ella
8;Kolos
9;Antal
10;ViolaA ket metodus amit hasznalok:
public static List<Map<?, ?>> readObjectsFromCsv(File file) throws IOException {CsvSchema bootstrap = CsvSchema.emptySchema().withHeader();CsvMapper csvMapper = new CsvMapper();MappingIterator<Map<?, ?>> mappingIterator = csvMapper.reader(Map.class).with(bootstrap).readValues(file);return mappingIterator.readAll();}public static void writeAsJson(List<Map<?, ?>> data, File file) throws IOException {ObjectMapper mapper = new ObjectMapper();//mapper.enable(SerializationFeature.INDENT_OUTPUT);mapper.writeValue(file, data);}
Igy hivom meg oket:List<Map<?, ?>> data = readObjectsFromCsv(studentFile);writeAsJson(data, studentJson);A gond az hogy ezt a json-t gereralja:
[
{
"1;Reka": "2;Zita"
},
{
"1;Reka": "3;Nora"
},
{
"1;Reka": "4;Simon"
},
{
"1;Reka": "5;Elek "
},
{
"1;Reka": "6;Geza"
},
{
"1;Reka": "7;Ella "
},
{
"1;Reka": "8;Kolos "
},
{
"1;Reka": "9;Antal"
},
{
"1;Reka": "10;Viola"
}
]Vagyis veszi az elso sort es beteszi kulcsnak az osszes tobbi sorhoz

Mi lehet a gond?
Koszi!Szerintem a valid csv file-ban az elemek vesszővel vannak elválasztva enterek nélkül.
CSV - comma separated valuesNem vágom annyira, de szerintem itt kezdődik a gond.
Próbáld ki, hogy lecseréled az összes pontosvesszőt vesszőre.
-
Szmeby
tag
-
Taoharcos
aktív tag
Sziasztok!
A következő metódus csv file-ból olvas ki sorokat és objektummá alakítom (minden sor egy objektum):private static void readData(File inputFile, Class type) {try {BufferedReader reader = new BufferedReader(new FileReader(inputFile));String line;// Reading first line..while ((line = reader.readLine()) != null) {String[] values = line.split(COMMA_DELIMITER);if (type == Student.class) {Student student = populateStudent(values);if (students == null) {students = new HashMap<Integer, Student>();}students.put(student.getStudentId(), student);}if (type == Subject.class) {Mark mark = populateMark(values);Subject subject = populateSubject(values);if (subject.getMarks() == null) {subject.setMarks(new ArrayList<Mark>());}students.get(mark.getStudentId()).getSubjects().put(subject.getSubjectId(), subject);students.get(mark.getStudentId()).getSubjects().get(subject.getSubjectId()).getMarks().add(mark);}}reader.close();} catch (Exception e) {e.printStackTrace();}}Ez szeretném megoldani Stream-el:
private static void readData(Path inputFile, Class type) {Student student;Subject subject;Mark mark;try {Stream<String> lines = Files.lines(inputFile);List<List<String>> values = lines.map(line -> Arrays.asList(line.split(COMMA_DELIMITER))).collect(Collectors.toList());if (type == Student.class) {values.forEach(value -> student = populateStudent(value));if (students == null) {students = new HashMap<Integer, Student>();}students.put(student.getStudentId(), student);}if (type == Subject.class) {values.forEach(value -> mark = populateMark(value));if (subject.getMarks() == null) {subject.setMarks(new ArrayList<Mark>());}students.get(mark.getStudentId()).getSubjects().put(subject.getSubjectId(), subject);students.get(mark.getStudentId()).getSubjects().get(subject.getSubjectId()).getMarks().add(mark);}//}} catch (Exception e) {e.printStackTrace();}}A forEach-ben (
value -> student = populateStudent(value)) ezt a hibát kapom: ''Local variable student defined in an enclosing scope must be final or effectively final'Tudja valaki, hogy lehet ezt megoldani?
Köszi!Nem túl szép, de talán így:
values.forEach(value -> {Student studentInner = student;studentInner = populateStudent(value);});values.forEach(value -> {Mark markInner = mark;markInner = populateMark(value);});
Esetleg még az elején a Student, Subject, Mark -t inicializálni; -
Zsoxx
őstag
-
floatr
veterán
Ez káoszos magyarázat. A compiler kioptimalizálja a literálokat, de a tényleges objektumot a runtime futás közben hozza létre. Fordításkor nem lehet objektumot létrehozni. Ha viszont new operátort használsz, akkor ott explicite létrehozol egy objektumot.
-
p76
senior tag
Igen, jól érted.
De nem kompiláláskor jön létre hanem amikor az adott osztályt, amiben van a string literal, betölti a classloader. -
floatr
veterán
Ennyire nem tudok részleteket, hogy mikor hol, de nem a metódus végrehajtásakor hozza létre, az csak felhasználja.
-
disy68
aktív tag
Írnak többmindent is, de ez a válasz, ahol a generált kódot megnézte a válaszoló.
A String osztály java alatt immutable, azaz értékadás után az objektum értéke nem változtatható. E miatt a String összefűzés
String concat = "first" + " " + "last";
4 String objektum létrejöttét jelentené.Erre rakták bele java 8 óta a fordítóba, hogy ahol ilyen található, azt optimalizálja. A String összefűzéseket helyettesíti StringBuilder-rel, ezért nem fog létrejönni annyi String objektum.
Vannak még egyéb String-ekkel kapcsolatos optimalizációk, amiket a fordító/futtató környezet csinál/alkalmaz, pl. a válaszokban említett internal pool, ahol kvázi cache-elve vannak String objektum példányok, java 8-as updattel jött a G1 GC-be, hogy tud deduplikálni String-eket. Java 9-ben pedig jött egy olyan, hogy azokat a szövegeket, amiket lehet, ISO-8859-1/Latin-1 kódolással tárolja a JVM UTF-16 helyett (1 vs 2 byte/karakter).
>javap -c Test Compiled from "Test.java" public java.lang.String makinStrings(); Code: 0: ldc #5; //String Fred 2: astore_1 3: new #6; //class java/lang/StringBuilder 6: dup 7: invokespecial #7; //Method java/lang/StringBuilder."<init>":()V 10: aload_1 11: invokevirtual #8; //Method java/lang/StringBuilder.append: (Ljava/lang/String;)Ljava/lang/StringBuilder; 14: ldc #9; //String 47 16: invokevirtual #8; //Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; 19: invokevirtual #10; //Method java/lang/StringBuilder.toString:()Ljava/lang/String; 22: astore_1 23: aload_1 24: iconst_2 25: iconst_5 26: invokevirtual #11; //Method java/lang/String.substring:(II)Ljava/lang/String; 29: astore_1 30: aload_1 31: invokevirtual #12; //Method java/lang/String.toUpperCase:()Ljava/lang/String; 34: astore_1 35: aload_1 36: invokevirtual #13; //Method java/lang/String.toString:()Ljava/lang/String; 39: areturn
-
fatal`
titán
-
fatal`
titán
Sziasztok!
Ha kiíratom az xoTransferObj.getXoInput()-ot, az értéke X és mégsem megy bele az if-be..
Viszont ha egy sima változót ellenőrzök az if-ben aminek az értéke X, akkor belemegy
if (xoTransferObj.getXoInput() == "X") {
.......
}
Hol itt a gond?
public String getXoInput() {
return xoInput;
}
public void setXoInput(String xoInput) {
this.xoInput = xoInput;
}Az == a referenciát ellenőrzi, az pedig sosem lesz ugyanaz. Javaban stringet az equals-szal tudsz ellenőrizni:
if ("X".equals(xoTransferObj.getXoInput()) {...} -
Csaby25
őstag
-
mobal
nagyúr
-
Zsoxx
őstag
Innen kell letölteni? [link]
Ebben nincs jfxrt.jar fájl, tudtommal ez kell és a jfxswt.jar
Ha nem adom meg a jfxrt.jar-t nem is tudja importálni a javafx-et.
Telepítettem a JavaFX Scene Builder 2.0-t, ebben van jfxrt.jar. Megadtam neki, így már importálja, kiterjesztem a Application osztályt, futáskor hibát ad:
"Error: Could not find or load main class TestFX
Caused by: java.lang.NoClassDefFoundError: javafx/application/Application"Nem tudtam megnyitni az Application.class forrástfájlt, nem találta. Megadtam neki az src.zip forrást ami a javafx-sdk-13.0.1-ban található, amit innen szedtem le: https://openjfx.io/
Most mar megnyitja forrástfájlt, de ugyanez a hiba maradt. Valami ötlet? Mindez Eclipse 2019-12-ben....JDK 11 óta nincs benne a JavaFX.
https://youtu.be/nbn_tjHBRV8 -
Csaby25
őstag
Innen kell letölteni? [link]
Ebben nincs jfxrt.jar fájl, tudtommal ez kell és a jfxswt.jar
Ha nem adom meg a jfxrt.jar-t nem is tudja importálni a javafx-et.
Telepítettem a JavaFX Scene Builder 2.0-t, ebben van jfxrt.jar. Megadtam neki, így már importálja, kiterjesztem a Application osztályt, futáskor hibát ad:
"Error: Could not find or load main class TestFX
Caused by: java.lang.NoClassDefFoundError: javafx/application/Application"Nem tudtam megnyitni az Application.class forrástfájlt, nem találta. Megadtam neki az src.zip forrást ami a javafx-sdk-13.0.1-ban található, amit innen szedtem le: https://openjfx.io/
Most mar megnyitja forrástfájlt, de ugyanez a hiba maradt. Valami ötlet? Mindez Eclipse 2019-12-ben.... -
emvy
félisten
-
emvy
félisten
-
emvy
félisten
Új hozzászólás Aktív témák
-
Fórumok
LOGOUT - lépj ki, lépj be!
LOGOUT reakciók Monologoszféra FototrendGAMEPOD - játék fórumok
PC játékok Konzol játékok MobiljátékokPROHARDVER! - hardver fórumok
Notebookok TV & Audió Digitális fényképezés Alaplapok, chipsetek, memóriák Processzorok, tuning Hűtés, házak, tápok, modding Videokártyák Monitorok Adattárolás Multimédia, életmód, 3D nyomtatás Nyomtatók, szkennerek Tabletek, E-bookok PC, mini PC, barebone, szerver Beviteli eszközök Egyéb hardverek PROHARDVER! BlogokMobilarena - mobil fórumok
Okostelefonok Mobiltelefonok Okosórák Autó+mobil Üzlet és Szolgáltatások Mobilalkalmazások Tartozékok, egyebek Mobilarena blogokIT café - infotech fórumok
Infotech Hálózat, szolgáltatók OS, alkalmazások SzoftverfejlesztésFÁRADT GŐZ - közösségi tér szinte bármiről
Tudomány, oktatás Sport, életmód, utazás, egészség Kultúra, művészet, média Gazdaság, jog Technika, hobbi, otthon Társadalom, közélet Egyéb Lokál PROHARDVER! interaktív
- Fórumok
- Szoftverfejlesztés
- Java programozás
- (kiemelt téma)
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- BMW topik
- Projektor topic
- Luck Dragon: Asszociációs játék. :)
- Huawei Watch Fit 5 Pro - jó forma
- Gyúrósok ide!
- Motoros topic
- Fejhallgató erősítő és DAC topik
- Okosóra és okoskiegészítő topik
- Szentjánosbogárral venné fel a versenyt a Macbook Neo ellen az Intel
- Szaporodik és sokasodik a One UI 8.5
- További aktív témák...
- új 0 km es garanciás lenovo loq rtx 5050 8gb
- Eladó teljesen újszerű karcmentes Samsung Galaxy Watch Ultra
- DDR4 memóriák eladóak
- Hihetetlen Gaming PC brutális specifikációkkal! A dán Topdata.dk IT-cég által összerakva
- 2.5" 100% noti HDD-k Western Digital, Seagate 320Gb (3k) +1Tb (15k) van 1db SSHD is (15k)
- PlayStation 5 Slim (lemezes) + kontroller 6 hónap garancia, számlával!
- Shining3D EinScan Pro 2X 3D szkenner
- BESZÁMÍTÁS! Nintendo Switch OLED 64GB játékkonzol extrával garanciával hibátlan működéssel
- Samsung Galaxy S20 FE / 6/128Gb / Kártyafüggetlen / 12Hó Garancia
- Samsung Galaxy Note 20 256GB, Kártyafüggetlen, 1 Év Garanciával
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

) Saját projekthez lehet, hogy jól jönne a JavaFX, viszont konkrét projekteknél, gondolom már nem használják. Inkább web-alkalmazásban kellene gondolkoznom pl. SpringBoot és ebben készíteni egy projektet?



?
. Gondolom azért mert array2 és array3 ugyanarra mutat és ha egyiket változtatom a másik is változik..
