Taylor Swift has admitted lying to one of her famous ex-boyfriends.

The 'We Are Never Ever Getting Back Together' singer - who is rumoured to be dating One Direction star Harry Styles and previously romanced John Mayer, Joe Jonas, Taylor Lautner and Jake Gyllenhaal - has revealed that she once promised one of them she would never write a song about their relationship but later did it anyway.

The 22-year-old country star told the New York Times Magazine: ''The only time that has ever crossed someone's mind was when we were in the process of breaking up.

''Of course I was like, 'Oh, don't worry, I won't.' And then I did. Look, it's not like it was written somewhere in the fine print that I write songs about my life. If we break up, I'm going to write about it. But I'm probably also going to write about when I fell in love with you. So there's an upside.''

Taylor also opened up about her song 'The Last Time', which is rumoured to be about 'Love And Other Drugs' actor Jake, 31.

She said: ''That all came out of this one relationship I was in. This guy was just, so, so cool. It kind of gave me a bit of a complex for this album.''

She did not deny the song is about the actor but insisted she doesn't have any interest in hurting her ex-boyfriends through her lyrics.

She said: ''I don't talk about who it is specifically because these are real people. You try to give insight as to where you were coming from as a writer without completely throwing somebody under the bus.''