Based on I Corinthians 11, a lot of Christians think men should not have long hair. St. Paul was a Roman citizen; he had the privilege or obligation of civic duty, unless excused. (He was by way of being a Pharisee, a member of the Jewish religious party.) Citizens wore their hair short; it denoted readiness for military duty. Short hair was becoming prevalent in the Roman world, as was the relatively new practice of beardlessness. Most men would have been too poor to afford barbers. Short hair and lack of beard were a sign of status.
Jewish priests and after them, Christian priests, continued to wear uncut hair and beards. It showed that they were not Romans, not part of the government, not soldiers. Orthodox priests for the most part do not cut their hair or shave their beards now. This is the 2000 year old tradition of the Eastern churches; they have never changed their policy. Some priests have adopted the custom of the Roman church and do cut their hair and shave; Anglican priests mostly do the same, although this was an issue when the Anglican church was coopted by the Roman about a thousand years ago.
So should Christian men cut their hair? Paul’s reminder to men that they should not have long hair probably referred to men who both shaved and wore loose long hair; they looked like women. There is a possibility that he was reminding them that they were not to look like male prostitutes, who affected a pubescent appearance. The real issue was that they were to take their place as men in the church, and not to dishonour the headship of Christ by appearing as women or adolescents.
Certainly long hair on men does not have to be effeminate, when worn with a beard and appropriately brushed. The regulations of the Orthodox churches, unchanged over the millenia, make that clear. Vanity and womanly appearance, however, are not considered appropriate for Christian men.