Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

Java Java Data Structures - Retired Getting There Type Casting

need help on this one

Challenge Task 1 of 2 The method getTitleFromObject will be called and passed a String and/or a com.example.BlogPost. For this first task, return the object obj type casted as a String if it is in fact a String.

I've included BlogPost.java for your reference only.

com/example/BlogPost.java
import com.example.BlogPost;
public class TypeCastChecker {

  public static boolean HINT_1_ENABLED = false;
  public static boolean HINT_2_ENABLED = false;

  public static String getTitleFromObject(Object obj) {

    String result = "";
    BlogPost nowa;
    if (obj instanceof String) {
      result = (String) obj;
    } else if (obj instanceof BlogPost) {
      nowa = (BlogPost) obj;
      result = nowa.getTitle();
    }
    return result;
  }
}
TypeCastChecker.java
import com.example.BlogPost;

public class TypeCastChecker {
  /***************
  I have provided 2 hints for this challenge.
  Change `false` to `true` in one line below, then click the "Check work" button to see the hint.
  NOTE: You must set all the hints to false to complete the exercise.
  ****************/
  public static boolean HINT_1_ENABLED = false;
  public static boolean HINT_2_ENABLED = false;

  public static String getTitleFromObject(Object obj) {
    // Fix this result variable to be the correct string.
    String result = "";
    return result;
  }
}

if i dont get past this question, i am leaving this java track . its now annoying

4 Answers

can craig help on this one , its no longer learning but confusing, what is the correct answer, what does he want

The solution seems to be exactly analog to your example:

Have you tried entering (or copy/pasting) exactly the same as in the example you've given (first code snippet in your post)?

i tried many options, all were fruitless,

what would be your answer

I think we should avoid giving direct solutions, but you wrote that you tried many options, so I guess it's ok now for me to give a possible answer (I hope).

This worked out for me:

import com.example.BlogPost;

public class TypeCastChecker {
  /***************
  I have provided 2 hints for this challenge.
  Change `false` to `true` in one line below, then click the "Check work" button to see the hint.
  NOTE: You must set all the hints to false to complete the exercise.
  ****************/
  public static boolean HINT_1_ENABLED = false;
  public static boolean HINT_2_ENABLED = false;

  public static String getTitleFromObject(Object obj) {
    // Fix this result variable to be the correct string.
    String result = "";
    BlogPost bp;
    if (obj instanceof String) {
        result = (String) obj;
    }else if (obj instanceof BlogPost) {
        bp = (BlogPost) obj;
      result = bp.getTitle();
    }
    return result;
  }
}

Actually it is the very same as in your first code snippet... and I just tried it, and it worked (Task 1 of 2). Not for you?

task one was not not a problem, nut thank you so much,

Why do you write "Challenge Task 1 of 2" on top of your post then? You should have mentioned that your problem is in Task 2 of 2 then