I am little confused about String creation in java.
Doubt 1: How String objects assigned to Pool area:
1. String s="in pool"; 2. String s1= new String("not in pool");
How many objects created in statement 1 and 2. According to recent discussion with my colleague, one object created in String pool in case 1. And in case 2, two objects are created, one as literal goes to String pool and other with new() opr goes to Heap.
If above is correct, Ain't we wasting double memory for same object ? Really need clear understanding on this
Doubt 2: How does intern() work: Please see if my below explanation is correct
1. If String literal is already present in String pool , and i create a same string with new operator, reference to object is changed to pool area.
2. If String object is created using new operator and intern is called on it. If same string object is not present in the String Pool, Its moved to String pool and reference to this in Pool is returned.
Which is the best way to keep track of the number of the objects I've created?Is is a good practice to have a static variable, which will be incremented everytime I call a contructor?
My requirement is to find the line number using multiline string. Here I need to extract the string between FROM and where clause(from the below string) and need to find the line number in the file
SELECT HL.LOCATION_ID,HPS.PARTY_SITE_ID,HCAS.CUST_ACCT_SITE_ID INTO LN_SITE_LOCATION_ID,LN_LOC_PARTY_SITE_ID,LN_CUST_ACCT_SITE_ID FROM HZ_LOCATIONS HL, HZ_PARTY_SITES HPS,
I'm creating a program that searches a txt file for a given string, then return the number line and the line itself. However, my testFile class isn't detecting my searchWord methods.
The searchWord and recursiveSearch is written in a java class called BasicFile
public List<String> searchWord(String key) throws Exception { LineNumberReader lnr = new LineNumberReader(new FileReader(f)); return recursiveSearch(lnr.readLine(), key, lnr); } public List<String> recursiveSearch(String currentLineText, String key, LineNumberReader lnr)
[code]....
Is it because I'm using a list instead of a string?
Is it possible to have the value of an entered String to be set as the name of the String to be created whilst running.For example: String username= Keyboard.readString() & the user entered for example the word: "Hello".Is there a way how I can make the Java Program create another String named Hello (Inputted value of String username).
If this is allowed, what do I have to use and if possible show me exactly what I have to do with the example mentioned above?
how String objects are different from other objects
part 1:
// creating two objects Dog mydog1 = new Dog(); Dog mydog2 = new Dog(); // comparing the reference variables if( mydog1 == mydog2){ System.out.println(" The reference variables refer the same object "); } else { System.out.println(" They refer to different objects "); }
The above code works as I understand objects , it prints "They refer to different objects " to the screen.
Part - 2
// creating two objects ( I beleive, pls correct me if i am wrong ) String a = "haai"; String b = "haai";
if( a == b){ System.out.println(" Reference variables refer to same object");
When i run the above code it prints that a and b refer same object , I don't understand how they refer to same object when i didn't assign " String b = a; ". My question is did java just create one object and stored the same reference values to a and b .
i'm trying to add new value (string type) in an existent file.say that we have a .txt file which contain "mario"...i ask to the user a new name, and he write for expample "tony", now i want append the word "tony" in the existent file in this way: Iwrote this code:
first is saved next to the value existing. why? maybe because the program does not check if there is a string in the file?but I do not think. because otherwise it would happen with any name that is not entered in an odd position.
Public static boolean updateNetMap(String filepath, String nodename){
// check the file pointed by filepath to have entry for nodename. // if it is there, get the start line no and end line no // Based on the line nos, need logic to remove the contents from the file. }
Below is the sample node entry, which we need to identify and delete (here nodename is WAS_CD1):
So basically, if a line in a text file contains a certain string, that specific line will be deleted. It should probably be similair to this method?
Java Code:
/** * Replace text. * @param replace * The text to replace. * @param replaceWith * The text to replace with. */ public static void replaceSelected(String replace, String replaceWith) { try { BufferedReader file = new BufferedReader(new FileReader("data/replacer.txt"));
I am having issues insert each line of the simple textfile into a specific varible I want it to go to. For example my text file is ordered like this
Dallas 78 F North, 15 mph dallasimage Denver 29 F South, 10 mph denverimage
and I want Dallas in city variable, 78f in temperature variable, and so on until text ends, at the moment is all goes into city variable, it all prints from there! I tried inserting it into an array but it would read all the lines previous to it in addition to reusing readline and all failed.
import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import java.io.IOException; public class Textreader { public static void main(String[] args) {
I am writing to a text file via user input and it is saving all the user input to the file but it is just printing one word per line. I would like it to print the string on one line and print the next string on the next line upon them hitting enter.
public void textFile() { Scanner reader = new Scanner(System.in); System.out.println("Enter file name: "); String fileName = reader.next(); File f = new File(fileName); PrintWriter p = null;
Write a java program to accept a string, float and an integer as command line arguments. String value should be displayed. Also the program should display the maximum value of two numbers. Use Integer.parseInt() and Float.parseFloat()
I have application written in rest with Jersey-Jackson for JSON processing. All the resources produce and consume JSON. Now, the problem is, it is a server intensive application and large number of request will be hitting the server with large JSON request object. Now, because of this reason, when the JSON object gets converted in to Java object with String fields in it mapping to JSON request values large number of string objects are getting created which is resulting in frequent GC.
I have a large text file of 1 GB size. I need to print the line when a matching word is found in a particular line. Below is the code I am using. But if there are many lines that has the matching word, it's taking lot of time. Any solution to print the lines much faster.
Scanner scanner = new Scanner(file); while (scanner.hasNextLine()) { String line = scanner.nextLine(); if(line.contains("xyz")) { System.out.println(line); } }
I want to clarify it whether this below code, when running this loop, will it create separate string objects as strings are immutable or else, will it keep the same reference(as each time inside loop, we use the same name 'rslt') and assign new string value for this?
I have a school assignment that involves me sorting an array of objects based on one of the class String variables. I am using as the title says a simple selection sort method. The problem I'm having is that when I run the program in debug mode, it never seems to enter the if statement in the inner loop. I would like to say I've tried a number of things to figure it out, but honestly I'm just stumped as to why it's not working.
Here is the code:
public static void sortTransactions(Transaction[] oTransaction){// This is the sorting method, obviously it's not done so it currently just prints to screen. System.out.println("Successful call to sortTransaction()"); String min = ""; int curInd = 0; Transaction[] temp = new Transaction[1];
[Code] ....
The output when I check to see if the array is sorted verifies that the array never does get sorted.
I have wrote this class who read from text line by line and save the words in fileOnTable.. Now i don't know what to read in ReadOffer to save the words in object offers and return this.. One more question.. What JUnit test can write for this code..?
How do I make the file reader object move to the next line if there is no more input on the line. Here is my text and output file as you can see that my text file column cuts off on the 2nd line after 70. I want to read that next line which is 100 into my labs variable however its reading it into my final exams variable. I'll also post the code but I didn't think it was necessary.
textfile: 100908095 1008070 10070
output: Labs Projects Tests Final Exams 100908095 1008070100 70
[import java.util.Scanner; import java.io.*; public class MyGrades { public static void main (String[] args) throws IOException { int lab, project, test; int finalExam;//Par and Player values