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 Organizing Data Serialization

error message code will not compile

after creating Treets.java and adding in line 33 Treets.sava(treets);

when i compile, i get

Example.java:33: error: <identifier> expected
Example.java:33: error: <identifier> expected
2 errors

I've followed this video precisely and cannot understand what this error means, and why Craig did not get the same error.



package com.teamtreehouse;

import java.io.*;

public class Treet { public static void save(Treet[] treets) { try ( FileOutputStream fos = new FileOutputStream("treets.ser"); ObjectOutputStream oos = new ObjectOutputStream(fos); ) { oos.writeObject(treets); } catch(IOException ioe) { System.out.println("Problem saving Treets"); ioe.printStackTrace(); } } }


import java.util.Arrays; import java.util.Date;

import com.teamtreehouse.Treet; import com.teamtreehouse.Treets;

public class Example {

public static void main(String[] args) { Treet treet = new Treet( "craigdennis", "Want to be famous? Simply tweet about Java and use " + "the hashtag #treet. I'll use your tweet in a new "+ "@treehouse course about data structures.", new Date(1421849732000L) ); Treet secondTreet = new Treet( "journeytocode", "@treehouse makes learning Java sooooo fun! #treet", new Date(1421878767000L) );
System.out.printf("This is a new Treet: %s %n", treet); System.out.println("The words are:"); for (String word: treet.getWords()) { System.out.println(word); } Treet[] treets = {secondTreet, treet}; Arrays.sort(treets); for (Treet exampleTreet : treets) { System.out.println(exampleTreet); } } Treets.save(Treets); }


package com.teamtreehouse;

import java.io.Serializable;

import java.util.Date;

public class Treet implements Comparable Serializable { private String mAuthor; private String mDescription; private Date mCreationDate;

public Treet(String author, String description, Date creationDate) { mAuthor = author; mDescription = description; mCreationDate = creationDate; }

@Override public String toString() { return String.format("Treet: \"%s\" by %s on %s", mDescription, mAuthor, mCreationDate); }

@Override public int compareTo(Object obj) { Treet other = (Treet) obj; if (equals(other)) { return 0; } int dateCmp = mCreationDate.compareTo(other.mCreationDate); if (dateCmp == 0) { return mDescription.compareTo(other.mDescription);
} return dateCmp; }

public String getAuthor() { return mAuthor; }

public String getDescription () { return mDescription; }

public Date getCreationDate() { return mCreationDate; } public String[] getWords() { return mDescription.toLowerCase().split("[^\w#@']+");



1 Answer

Haven't worked with Java in a while, but in your main function you have instantiated an array called "treets", yet when you get to the last line you are trying to pass in "Treets" -> if you change the last line to "Treets.save(treets)" does that allow you to compile?