Why am I getting “Static method cannot be referenced from a non static context: String...

Where do students learn to solve polynomial equations these days?

Is there a way to save my career from absolute disaster?

Can Sneak Attack be used when hitting with an improvised weapon?

My ex-girlfriend uses my Apple ID to login to her iPad, do I have to give her my Apple ID password to reset it?

What CSS properties can the br tag have?

Small nick on power cord from an electric alarm clock, and copper wiring exposed but intact

Yu-Gi-Oh cards in Python 3

Help understanding this unsettling image of Titan, Epimetheus, and Saturn's rings?

From jafe to El-Guest

Could a dragon use its wings to swim?

Is it convenient to ask the journal's editor for two additional days to complete a review?

Film where the government was corrupt with aliens, people sent to kill aliens are given rigged visors not showing the right aliens

Why don't programming languages automatically manage the synchronous/asynchronous problem?

Inexact numbers as keys in Association?

What flight has the highest ratio of timezone difference to flight time?

Players Circumventing the limitations of Wish

Can you teleport closer to a creature you are Frightened of?

Why is the US ranked as #45 in Press Freedom ratings, despite its extremely permissive free speech laws?

Aggressive Under-Indexing and no data for missing index

Does higher Oxidation/ reduction potential translate to higher energy storage in battery?

Does Germany produce more waste than the US?

How to find image of a complex function with given constraints?

Spaces in which all closed sets are regular closed

Expectation in a stochastic differential equation



Why am I getting “Static method cannot be referenced from a non static context: String String.valueOf(Object)”?



The Next CEO of Stack Overflow
2019 Community Moderator ElectionNon static method cannot be referenced from a static context: Integer Date.dayOfYear()Static method able to be called/executed from class instantiated from type.newInstance() with interface. Expected?Static method cannot be referenced from a non static context: List<String>Can only initialize a map within context of a function? ( can't initialize within constructor too)Save Error in Test Class for @InvocableMethod: Static method cannot be referenced from a non static contextStatic method cannot be referenced from a non static context in testclassStatic method cannot be referenced from a non static context: System.Pattern System.Pattern.compile(String)Non static method cannot be referenced from a static contextStatic method cannot be referenced from a non static context (PageReference)Use void Apex method in Lightning Web Component












1















I have this static class called from my lightning component, but am getting the error




"Static method cannot be referenced from a non static context: String String.valueOf(Object)"




on the line where I try and calculate a start date from the string passed. What do I need to do to fix this?



@AuraEnabled
public static void generatePDF(myRec__c rec, string selquarter){
string selqenddate = selquarter.substringBetween('(', ')');
date startdate = (selqenddate.valueOf(selqenddate)).addMonths(-3).startofMonth;
myPDF(rec.id, '', '');
}









share|improve this question





























    1















    I have this static class called from my lightning component, but am getting the error




    "Static method cannot be referenced from a non static context: String String.valueOf(Object)"




    on the line where I try and calculate a start date from the string passed. What do I need to do to fix this?



    @AuraEnabled
    public static void generatePDF(myRec__c rec, string selquarter){
    string selqenddate = selquarter.substringBetween('(', ')');
    date startdate = (selqenddate.valueOf(selqenddate)).addMonths(-3).startofMonth;
    myPDF(rec.id, '', '');
    }









    share|improve this question



























      1












      1








      1








      I have this static class called from my lightning component, but am getting the error




      "Static method cannot be referenced from a non static context: String String.valueOf(Object)"




      on the line where I try and calculate a start date from the string passed. What do I need to do to fix this?



      @AuraEnabled
      public static void generatePDF(myRec__c rec, string selquarter){
      string selqenddate = selquarter.substringBetween('(', ')');
      date startdate = (selqenddate.valueOf(selqenddate)).addMonths(-3).startofMonth;
      myPDF(rec.id, '', '');
      }









      share|improve this question
















      I have this static class called from my lightning component, but am getting the error




      "Static method cannot be referenced from a non static context: String String.valueOf(Object)"




      on the line where I try and calculate a start date from the string passed. What do I need to do to fix this?



      @AuraEnabled
      public static void generatePDF(myRec__c rec, string selquarter){
      string selqenddate = selquarter.substringBetween('(', ')');
      date startdate = (selqenddate.valueOf(selqenddate)).addMonths(-3).startofMonth;
      myPDF(rec.id, '', '');
      }






      apex parameters static






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited 3 hours ago









      Jayant Das

      17.4k21330




      17.4k21330










      asked 4 hours ago









      IreneIrene

      5052418




      5052418






















          2 Answers
          2






          active

          oldest

          votes


















          4














          The string class's valueOf() method is a static method.



          Static methods need to be called like this: Class.staticMethodName() i.e. String.valueOf()



          What you're currently doing is using an instance of a string to try to call a static method, which (as the error indicates) is not allowed.



          bad:



          selqenddate.valueOf(selqenddate)


          good:



          String.valueOf(selqenddate)


          Of course, you don't need to use String.valueOf() at all here because selquarter is a string, and substringBetween() also returns a string.



          Instead, you need to be using a method that takes a String as input, and gives you a Date as output such as Date.parse()






          share|improve this answer































            1














            As the error suggests, you are trying to use a static method valueOffrom String class on an instance of a String named selqenddate, which is not allowed.



            You are most likely are trying to construct a date from a string value, and that you will need to utilize the Date.valueOf()instead. Your code should look like something as below:



            Date startdate = 
            (Date.valueOf(selqenddate))
            .addMonths(-3)
            .toStartOfMonth();


            Note, there’s no property startOfMonth on Date class.






            share|improve this answer
























              Your Answer








              StackExchange.ready(function() {
              var channelOptions = {
              tags: "".split(" "),
              id: "459"
              };
              initTagRenderer("".split(" "), "".split(" "), channelOptions);

              StackExchange.using("externalEditor", function() {
              // Have to fire editor after snippets, if snippets enabled
              if (StackExchange.settings.snippets.snippetsEnabled) {
              StackExchange.using("snippets", function() {
              createEditor();
              });
              }
              else {
              createEditor();
              }
              });

              function createEditor() {
              StackExchange.prepareEditor({
              heartbeatType: 'answer',
              autoActivateHeartbeat: false,
              convertImagesToLinks: false,
              noModals: true,
              showLowRepImageUploadWarning: true,
              reputationToPostImages: null,
              bindNavPrevention: true,
              postfix: "",
              imageUploader: {
              brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
              contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
              allowUrls: true
              },
              onDemand: true,
              discardSelector: ".discard-answer"
              ,immediatelyShowMarkdownHelp:true
              });


              }
              });














              draft saved

              draft discarded


















              StackExchange.ready(
              function () {
              StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsalesforce.stackexchange.com%2fquestions%2f255997%2fwhy-am-i-getting-static-method-cannot-be-referenced-from-a-non-static-context%23new-answer', 'question_page');
              }
              );

              Post as a guest















              Required, but never shown

























              2 Answers
              2






              active

              oldest

              votes








              2 Answers
              2






              active

              oldest

              votes









              active

              oldest

              votes






              active

              oldest

              votes









              4














              The string class's valueOf() method is a static method.



              Static methods need to be called like this: Class.staticMethodName() i.e. String.valueOf()



              What you're currently doing is using an instance of a string to try to call a static method, which (as the error indicates) is not allowed.



              bad:



              selqenddate.valueOf(selqenddate)


              good:



              String.valueOf(selqenddate)


              Of course, you don't need to use String.valueOf() at all here because selquarter is a string, and substringBetween() also returns a string.



              Instead, you need to be using a method that takes a String as input, and gives you a Date as output such as Date.parse()






              share|improve this answer




























                4














                The string class's valueOf() method is a static method.



                Static methods need to be called like this: Class.staticMethodName() i.e. String.valueOf()



                What you're currently doing is using an instance of a string to try to call a static method, which (as the error indicates) is not allowed.



                bad:



                selqenddate.valueOf(selqenddate)


                good:



                String.valueOf(selqenddate)


                Of course, you don't need to use String.valueOf() at all here because selquarter is a string, and substringBetween() also returns a string.



                Instead, you need to be using a method that takes a String as input, and gives you a Date as output such as Date.parse()






                share|improve this answer


























                  4












                  4








                  4







                  The string class's valueOf() method is a static method.



                  Static methods need to be called like this: Class.staticMethodName() i.e. String.valueOf()



                  What you're currently doing is using an instance of a string to try to call a static method, which (as the error indicates) is not allowed.



                  bad:



                  selqenddate.valueOf(selqenddate)


                  good:



                  String.valueOf(selqenddate)


                  Of course, you don't need to use String.valueOf() at all here because selquarter is a string, and substringBetween() also returns a string.



                  Instead, you need to be using a method that takes a String as input, and gives you a Date as output such as Date.parse()






                  share|improve this answer













                  The string class's valueOf() method is a static method.



                  Static methods need to be called like this: Class.staticMethodName() i.e. String.valueOf()



                  What you're currently doing is using an instance of a string to try to call a static method, which (as the error indicates) is not allowed.



                  bad:



                  selqenddate.valueOf(selqenddate)


                  good:



                  String.valueOf(selqenddate)


                  Of course, you don't need to use String.valueOf() at all here because selquarter is a string, and substringBetween() also returns a string.



                  Instead, you need to be using a method that takes a String as input, and gives you a Date as output such as Date.parse()







                  share|improve this answer












                  share|improve this answer



                  share|improve this answer










                  answered 3 hours ago









                  Derek FDerek F

                  20.8k52353




                  20.8k52353

























                      1














                      As the error suggests, you are trying to use a static method valueOffrom String class on an instance of a String named selqenddate, which is not allowed.



                      You are most likely are trying to construct a date from a string value, and that you will need to utilize the Date.valueOf()instead. Your code should look like something as below:



                      Date startdate = 
                      (Date.valueOf(selqenddate))
                      .addMonths(-3)
                      .toStartOfMonth();


                      Note, there’s no property startOfMonth on Date class.






                      share|improve this answer




























                        1














                        As the error suggests, you are trying to use a static method valueOffrom String class on an instance of a String named selqenddate, which is not allowed.



                        You are most likely are trying to construct a date from a string value, and that you will need to utilize the Date.valueOf()instead. Your code should look like something as below:



                        Date startdate = 
                        (Date.valueOf(selqenddate))
                        .addMonths(-3)
                        .toStartOfMonth();


                        Note, there’s no property startOfMonth on Date class.






                        share|improve this answer


























                          1












                          1








                          1







                          As the error suggests, you are trying to use a static method valueOffrom String class on an instance of a String named selqenddate, which is not allowed.



                          You are most likely are trying to construct a date from a string value, and that you will need to utilize the Date.valueOf()instead. Your code should look like something as below:



                          Date startdate = 
                          (Date.valueOf(selqenddate))
                          .addMonths(-3)
                          .toStartOfMonth();


                          Note, there’s no property startOfMonth on Date class.






                          share|improve this answer













                          As the error suggests, you are trying to use a static method valueOffrom String class on an instance of a String named selqenddate, which is not allowed.



                          You are most likely are trying to construct a date from a string value, and that you will need to utilize the Date.valueOf()instead. Your code should look like something as below:



                          Date startdate = 
                          (Date.valueOf(selqenddate))
                          .addMonths(-3)
                          .toStartOfMonth();


                          Note, there’s no property startOfMonth on Date class.







                          share|improve this answer












                          share|improve this answer



                          share|improve this answer










                          answered 3 hours ago









                          Jayant DasJayant Das

                          17.4k21330




                          17.4k21330






























                              draft saved

                              draft discarded




















































                              Thanks for contributing an answer to Salesforce Stack Exchange!


                              • Please be sure to answer the question. Provide details and share your research!

                              But avoid



                              • Asking for help, clarification, or responding to other answers.

                              • Making statements based on opinion; back them up with references or personal experience.


                              To learn more, see our tips on writing great answers.




                              draft saved


                              draft discarded














                              StackExchange.ready(
                              function () {
                              StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsalesforce.stackexchange.com%2fquestions%2f255997%2fwhy-am-i-getting-static-method-cannot-be-referenced-from-a-non-static-context%23new-answer', 'question_page');
                              }
                              );

                              Post as a guest















                              Required, but never shown





















































                              Required, but never shown














                              Required, but never shown












                              Required, but never shown







                              Required, but never shown

































                              Required, but never shown














                              Required, but never shown












                              Required, but never shown







                              Required, but never shown







                              Popular posts from this blog

                              Щит и меч (фильм) Содержание Названия серий | Сюжет |...

                              Венесуэла на летних Олимпийских играх 2000 Содержание Состав...

                              Meter-Bus Содержание Параметры шины | Стандартизация |...