To "dereference" means (in so many words) to do anything that involves putting a dot right after the thing -- i.e., calling a method with thing.something(), or trying to read a member variable, with thing.something else. You're trying to call a method toString() on a char (the return value of charAt() ) and you can't do that. You can't dereference any of the primitive types: byte, short, char, int, long, float, double, or boolean.
To compare characters (or any other primitives), you can use the == operator rather than the equals() method.
line.charAt(0) == ','
Note the single quotes: that's a character constant, not a String.