Idea behind this is to have a "Search" textfield. When user types in some data and clicks on a button. Another window opens with data according to typed into "Search" textfield. I create my textfield like this TextField search = new TextField();  On a button click I do this:  searchButton.setOnAction(e -&gt; {             String st = search.getText().toString();             System.out.println(search.getText());             setSt(st);             InfoWindow.display("Detailed information on " + st);         });   setSt() method looks like this:  public void setSt(String st)     {         this.st = st;     }   this.st is declared like this: private static String st;  In the informational window class I try to evaluate what user typed in:  public static void display(String title){     Stage window = new Stage();      window.initModality(Modality.APPLICATION_MODAL);     window.setTitle(title);     window.setMinWidth(250);     String st = MainClass.getSt();     if(st == "M16"){         textLabel = new Label("The M16 rifle, officially designated Rifle, Caliber 5.56 mm.\n" +                 " M16, is a United States military adaptation of the Armalite AR-15 rifle.\n" +                 "The original M16 was a select-fire, 5.56×45mm rifle with a 20-round magazine.");     }     VBox layout = new VBox(10);     layout.getChildren().addAll(textLabel);     layout.setAlignment(Pos.CENTER);     Scene scene = new Scene(layout);     window.setScene(scene);     window.showAndWait(); }   getSt() method looks like this:   public static String getSt() {     return st; }   I've went through the program flow with the help of the debugger. It get's to the point of evaluation if(st == "M16") and I can see in debugger that st = "M16"(because I've typed that in "Search" textfield), but it doesn't get into the 'if', it just continues as if condition would be false. What could be the problem here? Can you help to figure it out? It is definitely not in the reach of my knowledge.
I've been using the == operator in my program to compare all my strings so far. However, I ran into a bug, changed one of them into .equals() instead, and it fixed the bug.  Is == bad? When should it and should it not be used? What's the difference?
Is it now considered acceptable to follow a proper noun ... or any noun ... with a pronoun? E.g.      The President he issued a new executive order. When I try to connect to Google Play, it would say "download Google play service". After I downloaded it, it says that it is "not supported by your device, please contact the manufacturer". Evaluation order of Button's action Why are you not able to declare a class as static in Java? Why does the Taylor expansion of $e^x$ satisfy exponential properties? how can we show $\frac{\pi^2}{8} = 1 + \frac1{3^2} +\frac1{5^2} + \frac1{7^2} + …$? Let $f(x) = \frac4\pi \cdot (\sin x + \frac13 \sin (3x) + \frac15 \sin (5x) + \dots)$. If for $x=\frac\pi2$, we have $$f(x) = \frac{4}{\pi} ( 1 - \frac13 +\frac15 - \frac17 + \dots) = 1$$ then obviously :  $$ 1 - \frac13 +\frac15 - \frac17 + \dots=\frac{\pi}{4}$$ Now how can we prove that: $$\frac{\pi^2}{8} = 1 + \frac1{3^2} +\frac1{5^2} + \frac1{7^2} + \dots$$ Determining the name of the VMware host of a VM guest - from the guest Is it possible to determine the name of the VMware host (ESX or ESXi) that my guest resides in, from within the guest itself?  I would expect this to be possible via VMware Tools, but am not sure where to look. How do I check that multiple keys are in a dict in a single pass? Please help solve 'oracle-java7-installer' missing. Error below  dpkg: warning: files list file for package !['oracle-java7-installer' missing;][1]  assuming package has no files currently installed (Reading database ... 302933 files and directories currently installed.) Removing linux-image-extra-3.8.0-19-generic ... /var/lib/dpkg/info/linux-image-extra-3.8.0-19-generic.postrm: 6: /var/lib/dpkg/info/linux-image-extra-3.8.0-19-generic.postrm: Syntax error: ")"  unexpected dpkg: error processing linux-image-extra-3.8.0-19-generic (--remove):  subprocess installed post-removal script returned error exit status 2  Errors were encountered while processing:  linux-image-extra-3.8.0-19-generic  E: Sub-process /usr/bin/dpkg returned an error code (1) A package failed to install.  Trying to recover: What is the best way to remove accents (normalize) in a Python unicode string? I have a Unicode string in Python, and I would like to remove all the accents (diacritics). I found on the web an elegant way to do this (in Java):  convert the Unicode string to its long normalized form (with a separate character for letters and diacritics) remove all the characters whose Unicode type is &quot;diacritic&quot;.  Do I need to install a library such as pyICU or is this possible with just the Python standard library?  And what about python 3? Important note: I would like to avoid code with an explicit mapping from accented characters to their non-accented counterpart. What is the concept of erasure in generics in Java? What's the difference between  var A = function () {     this.x = function () {         //do something     }; };   and  var A = function () { }; A.prototype.x = function () {     //do something }; Meta Stack Exchange should not penalize downvotes Order of finite fields is $p^n$ List of IP addresses/hostnames from local network in Python How can I get a list of the IP addresses or host names from a local network easily in Python?  It would be best if it was multi-platform, but it needs to work on Mac OS X first, then others follow.  Edit: By local I mean all active addresses within a local network, such as 192.168.xxx.xxx.  So, if the IP address of my computer (within the local network) is 192.168.1.1, and I have three other connected computers, I would want it to return the IP addresses 192.168.1.2, 192.168.1.3, 192.168.1.4, and possibly their hostnames. how to create facebook event in an android app? Can I get SSH to use an askpass program even if it was run from a terminal? says:  SSH_ASKPASS    If  ssh needs a passphrase, it will read the passphrase from the    current terminal if it was run from a terminal.  If ssh does not    have  a  terminal associated with it but DISPLAY and SSH_ASKPASS    are set, it will execute the program  specified  by  SSH_ASKPASS    and open an X11 window to read the passphrase.   I'd like SSH to use an askpass program even if it was run from a terminal.  On occasion, I have to connect to servers, where there's some delay in showing a password prompt (maybe due to network issues, maybe due to attempted reverse DNS lookups, …). I get annoyed and switch to something else, and forget about the attempted connection. (Insert joke about attention span of a goldfish.) When I finally get back to it, the prompt's timed out and even a correct password would just result in a closed connection.  Keys would be one solution, but not every system I use has my usual SSH keys. However, I usually use Ubuntu systems, and Ubuntu has an SSH askpass program installed by default.  If an askpass window popped up, however, I'd be immediately aware of it. That's a good enough compromise for me, if only I can get it to work. How to run a program without typing the full path? System utilities such as ls don't need to have the full path typed before executing them. However, to execute Netbeans, I have to type /home/chris/netbeans-7.0.1/bin/netbeans. How can I make it so that I only have to type netbeans? Postfix Connection Timed out I used the  tutorial below to setup postfix and dovecot on a Digital Ocean server. But I'm getting "Connection Timed out" when postfix/smtp tries to deliver an email to a remote host like gmail or yahoo..      RECEIVING A NEW MESSAGE /var/log/mail.log    Feb 2 22:33:38 localhost dovecot: auth-worker: Debug: Loading modules from directory: /usr/lib/dovecot/modules/auth  Feb 2 22:33:38 localhost dovecot: auth-worker: Debug: pam(app,189.63.49.XXX): lookup service=dovecot  Feb 2 22:33:38 localhost dovecot: auth-worker: Debug: pam(app,189.63.49.XXX): #1/1 style=1 msg=Password:   Feb 2 22:33:38 localhost dovecot: auth: Debug: client out: OK#0111#011user=app  Feb 2 22:33:40 localhost postfix/submission/smtpd[1045]: E9AA724264: client=unknown[189.63.49.XXX], sasl_method=PLAIN, sasl_username=app  Feb 2 22:33:43 localhost postfix/cleanup[1052]: E9AA724264: message-id=  Feb 2 22:33:43 localhost postfix/qmgr[32661]: E9AA724264: from=, size=485, nrcpt=1 (queue active)  Feb 2 22:33:45 localhost postfix/submission/smtpd[1045]: disconnect from unknown[189.63.49.XXX]  Feb 2 22:34:14 localhost postfix/smtp[1053]: connect to mta5.am0.yahoodns.net[98.136.216.25]:25: Connection timed out    Feb 2 22:24:21 localhost postfix/smtp[1013]: connect to mta6.am0.yahoodns.net[98.136.217.202]:25: Connection timed out  Feb 2 22:24:21 localhost postfix/smtp[1014]: connect to gmail-smtp-in.l.google.com[173.194.76.27]:25: Connection timed out  Feb 2 22:24:21 localhost postfix/smtp[1015]: connect to gmail-smtp-in.l.google.com[173.194.76.27]:25: Connection timed out  Feb 2 22:24:21 localhost postfix/smtp[1012]: connect to aspmx.l.google.com[173.194.68.27]:25: Connection timed out    Here is /etc/postfix/main.cf   /etc/postfix/master.cf   Result from #> netstat -nlptu Splitting raster into smaller chunks using GDAL? I have a raster (USGS DEM actually) and I need to split it up into smaller chunks like the image below shows. That was accomplished in ArcGIS 10.0 using the Split Raster tool. I would like a FOSS method to do this. I've looked at GDAL, thinking surely it would do it (somehow with gdal_translate), but can't find anything. Ultimately, I'd like to be able to take the raster and say how large (4KM by 4KM chunks) I would like it split up into.