TFT LCD screen .text() method not working?

So I recently got started with Arduino and decided to do something with the LCD screen.
Apparently I cannot use a variable in the .text() method?

Works:

#include <TFT.h> // Hardware-specific library
#include <SPI.h>

#define CS   10
#define DC   9
#define RESET  8

TFT lcd = TFT(CS, DC, RESET);

void setup() {
  lcd.background(255, 255, 255);
  lcd.stroke(0, 0, 0);
  lcd.setTextSize(5);
  lcd.text("fdsa", 10, 20);
}
void loop() {
}

Does not work:

#include <TFT.h> // Hardware-specific library
#include <SPI.h>

#define CS   10
#define DC   9
#define RESET  8
String fdsa = "fdsa";

TFT lcd = TFT(CS, DC, RESET);

void setup() {
  lcd.background(255, 255, 255);
  lcd.stroke(0, 0, 0);
  lcd.setTextSize(5);
  lcd.text(fdsa, 10, 20);
}
void loop() {
}

Which returns error messages:
Arduino: 1.8.4 (Windows 10), Board: "Arduino/Genuino Uno"

In file included from C:\Program Files (x86)\Arduino\libraries\TFT\src/TFT.h:36:0,

from C:\Users\Jason\Documents\Arduino\TFTPractice2\TFTPractice2.ino:1:

C:\Program Files (x86)\Arduino\libraries\TFT\src/utility/Adafruit_GFX.h:60:3: warning: #warning "The SD library was not found. loadImage() and image() won't be supported." [-Wcpp]

#warning "The SD library was not found. loadImage() and image() won't be supported."

^

C:\Users\Jason\Documents\Arduino\TFTPractice2\TFTPractice2.ino: In function 'void setup()':

TFTPractice2:15: error: no matching function for call to 'TFT::text(String&, int, int)'

lcd.text(fdsa, 10, 20);

^

C:\Users\Jason\Documents\Arduino\TFTPractice2\TFTPractice2.ino:15:24: note: candidate is:

In file included from C:\Program Files (x86)\Arduino\libraries\TFT\src/TFT.h:36:0,

from C:\Users\Jason\Documents\Arduino\TFTPractice2\TFTPractice2.ino:1:

C:\Program Files (x86)\Arduino\libraries\TFT\src/utility/Adafruit_GFX.h:174:2: note: void Adafruit_GFX::text(const char*, int16_t, int16_t)

text(const char * text, int16_t x, int16_t y),

^

C:\Program Files (x86)\Arduino\libraries\TFT\src/utility/Adafruit_GFX.h:174:2: note: no known conversion for argument 1 from 'String' to 'const char*'

exit status 1
no matching function for call to 'TFT::text(String&, int, int)'

This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.

The only difference is that I stored the string "fdsa" in variable fdsa. Can someone explain??

Apparently I cannot use a variable in the .text() method?

Nonsense.

The only difference is that I stored the string "fdsa" in variable fdsa. Can someone explain??

The problem is that you stored the string "fsda" in a String variable, NOT a string (NULL terminated array of chars). Forget that the stupid String class even exists.

Ok, thanks for your help.
I'm more familiar with Java, so some of these subtle differences really trip me up.
So I should use data type char?

So I should use data type char?

You need an array of chars. Be sure to NULL terminate the array.